停止Iframe刷新/重新加载循环使用Onload时
问题描述:
编辑我找到了解决方案!信贷完全归功于我从Mixel收到的援助。对于那些谁发现自己在需要拉从一个iframe股利不使用的onload这里的同样的困境是,我使用的整个工作代码:停止Iframe刷新/重新加载循环使用Onload时
<html>
<head>
<title>Main page</title>
<style type="text/css">#hiddenframe {display:none;}</style>
<script type="text/javascript">
window.onload = function() {
var myUrl = "test.html"
document.frames['hiddenframe'].location.href = myUrl;
}
</script>
</head>
<body>
<div id="parent-div"></div>
<iframe id="hiddenframe"></iframe>
</body>
</html>
和子页:
<html>
<head>
<title>Child Page</title>
<script type="text/javascript">
window.onload = function() {
parent.document.getElementById('parent-div').innerHTML = document.getElementById('daughter-div').innerHTML;
}
</script>
</head>
<body>
<div id="daughter-div">
This is the Child Div!
</div>
</body>
</html>
再次感谢Mixel对他寻求解决方案的帮助和耐心
答
这是因为您在onload处理程序中重新加载了hiddenframe。重新加载触发onload事件,然后onload处理程序重新加载hiddenframe。而这种频频发生......
编辑: 可能是我不明白你想在你的代码做什么,但如果要加载的iframe加载时,父窗口,你需要这样的:
window.onload = function() {
document.getElementById('hiddenframe').setAttribute('src', 'test.html');
}
而且还有的test.html页面的window.onload处理程序:
window.onload = function() {
parent.document.getElementById('parent-div').innerHTML = document.getElementById('daughter-div').innerHTML;
}
EDIT2:
这主要页面的HTML:
<div id="parent-div"></div>
<iframe id="hiddenframe">
</iframe>
这就是的test.html:
<div id="daughter-div">
Child div!
</div>
您的解决方案停止的iframe重装,但现在我没有得到div的内容从iframe来加载到母公司 – Riptidesigner
当我测试代码时,我更改了divs id。现在它必须工作。它适用于IE,Chrome(仅在Web服务器下,如果我从资源管理器中打开主页面,Chrome会在调试控制台中显示一条消息,表明页面不在同一个域中)。 – mixel
您的解决方案奏效!我最初只是错误地实现了它,非常感谢你的帮助 – Riptidesigner