js之iframe父子页面通信
父页面1
2
3
4
5
6
7
8
9
10
11
12/** 父页面需要在 window对象上 挂载一个 方法,供子页面调用 */
iframeHandle() {
window.clickSet = () => {
this.setState({
showReturn: true
})
}
}
componentDidMount() {
this.iframeHandle()
}
子页面1
2
3
4
5
6
7function clickSet() {
parent.window.clickSet(); // 子页面方法内部 调用父级window对象 下挂载的方法
}
$(function(){
$('.iframeReturn').on('click',clickSet) // 调用方法
})
iframe在更改了src之后对应的网页并未刷新
在更改src之前加上这一句即可。
document.getElementById(iframe的id).contentWindow.location.reload(true);
Iframe监听ulr
onload标签属性
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <iframe
id="AirportBusiness"
src={ifSrc} frameBorder="0"
onLoad={this.handleButton}
style={{ border: 0, width: clientWidth, height: clientHeight, marginTop: -70 }}
>
</iframe>
handleButton() {
let ifra = document.getElementById('AirportBusiness').contentWindow.location.href;
let urlTest = /index/;
this.setState({
showReturn: !urlTest.test(ifra)
})
}