我的父页面上的元素只有在隐藏的iframe中包含一个div id时才会更改。
如果我在html页面上输入代码,那么一切都很好:
<iframe id="myiframe" style="display:none" onload="load()" name="myiframe" src="mysite.com"></iframe>
JavaScript的:
function load(){
if (window.frames[0].document.getElementById('applications'))
{
var str=document.getElementById("tst").innerHTML;
var n=str.replace("Login","Logout");}}
document.getElementById('tst').href='logout';
但我需要从html文件中删除iframe代码并重新定位js文件。
我在js文件中使用此代码来触发iframe:
window.onload = function(){
var link = "iframelink"
var iframe = document.createElement('iframe');
iframe.frameBorder=0;
iframe.width="300px";
iframe.height="250px";
iframe.id="randomid";
iframe.addEventListener("load", load);
iframe.setAttribute("src", link);
document.getElementById("ad54").appendChild(iframe);
}
获取iframe的HTML代码:
<div id="ad54"</div>
Iframe启动,但是现在我在父页面上没有更改任何元素,尽管触发了iframe。加载iframe时,我需要在父页面中进行更改。
答案 0 :(得分:1)
<div>
个元素不会加载外部内容,因此它们永远不会触发load
个事件。
当iframe
内容加载时,您似乎正在尝试触发事件。您需要将事件监听器附加到iframe。
iframe.addEventListener("load", load);
iframe.setAttribute("src", link);