gpt4 book ai didi

javascript - Jquery ('#iframeid' ).load() 在加载 Iframe 内容(文本、图像)之前执行

转载 作者:行者123 更新时间:2023-11-29 16:25:01 24 4
gpt4 key购买 nike

我正在尝试访问 Iframe 的 Iframe 的数据。为了强制我的 javascript 函数等待,我使用 jqueries .load 函数。但是我的 javascript 代码仍然“有时”在 iframe 的内容完全加载之前执行。有时我的意思是不同计算机的行为不同。在较慢的计算机上,它等待大多数时间用于较快的计算机,代码几乎总是被执行。所以我怀疑 Internet Explorer 8 会提前触发 onload 事件。是否有任何 jquery 函数可以等待 iframe 的所有元素都加载完毕?

这是我的代码:

function parsePeopleLink(){
try{
//This is where I check if the wanted I frame already exists
if(document.getElementById('isolatedWorkArea') != null) {
if(window.frames[2] != null) {
if(window.frames[2].name == 'isolatedWorkArea') {
//This is where I want the following code only to be executed when the Iframe's content is fully loaded, otherwise I get an access denied error when trying to change Userlinks
$('#isolatedWorkArea').load(function() {
for( var i = 0; i < window.frames.length; i++){
for(var j = 0; j< window.frames[i].document.frames.length; j++){
IframeDocument = window.frames[i].document.frames[j].document;
changeUserLink(findPeopleIDfix(findPeopleID(IframeDocument)),findUserLinks(IframeDocument),8, IframeDocument);
}
}
});
}
else {
throw e; //I know that all the nested else statements are ugly, I just inserted them for testing purposes
}
}
else {
throw e;
}
}
else {
throw e;
}
}
catch(e) {
//alert(e.description);
for(var k = 0; k < window.frames.length; k++)
{
IframeDocument = window.frames[k].document;
changeUserLink(findPeopleIDfix(findPeopleID(IframeDocument)),findUserLinks(IframeDocument),9, IframeDocument);
iframeindex++;
}
}
}

所有 iframe 都具有:相同的端口、协议(protocol)和 src。非常感谢帮助

最佳答案

当完全加载时,Javascript 无法访问外部内容以进行监控。如果您有权访问 iframe 内容,则可以添加对父窗口函数的调用以触发它。

父页面:

function parsePeopleLink() {
//all your current code like you have it now
}

框架页面:

$(function(){
parent.parsePeopleLink();
//This will monitor the document being ready in the framed page
//and then trigger the parent's function
});

关于javascript - Jquery ('#iframeid' ).load() 在加载 Iframe 内容(文本、图像)之前执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7027161/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com