更改内容后,如何知道 iFrame 的 DOM 何时再次准备就绪?

发布于 2024-12-09 14:43:19 字数 1245 浏览 0 评论 0原文

我正在使用 jquery 编写一个 Firefox 插件。我向一个页面添加了一个 iFrame 并用另一个页面填充它(由于相同的原始策略而允许)。

$('#globalContainer').append('<iframe id="reusable_iframe" src="" width="90%" height="400" name="reusable_iframe"></iframe>');
//....
$('#reusable_iframe').attr('src', link);
//...
var link = $('#reusable_iframe').contents().find(HTMLclass).eq(position).find(searchBy).attr('href');

问题是,iFrame 内的 DOM 在我访问之前尚未完成加载。但是,当我添加警报时,它可以正常工作:

$('#globalContainer').append('<iframe id="reusable_iframe" src="" width="90%" height="400" name="reusable_iframe"></iframe>');
//....
$('#reusable_iframe').attr('src', link);
//...
alert("wait a sec"); //<-------------------------
var link = $('#reusable_iframe').contents().find(HTMLclass).eq(position).find(searchBy).attr('href');

这个问题与我的 ajax 问题非常相似,它也适用于警报。 如何从ajax添加节点后知道DOM何时再次准备好我还没有找到解决这两个问题的方法...

我尝试了这个:动态插入的 iframe 中的 jQuery .ready但这对我不起作用......

谢谢大家=)

I'm writing a firefox addon using jquery. I added an iFrame to a page and filled it with another page (allowed due same orign policy).

$('#globalContainer').append('<iframe id="reusable_iframe" src="" width="90%" height="400" name="reusable_iframe"></iframe>');
//....
$('#reusable_iframe').attr('src', link);
//...
var link = $('#reusable_iframe').contents().find(HTMLclass).eq(position).find(searchBy).attr('href');

The problem is, the DOM inside the iFrame isn't finished loading before my access. However, when I add an alert then it works without any problems:

$('#globalContainer').append('<iframe id="reusable_iframe" src="" width="90%" height="400" name="reusable_iframe"></iframe>');
//....
$('#reusable_iframe').attr('src', link);
//...
alert("wait a sec"); //<-------------------------
var link = $('#reusable_iframe').contents().find(HTMLclass).eq(position).find(searchBy).attr('href');

This problem is very similar to my ajax-problem, which also worked with an alert. how to know when the DOM is ready again after adding a node from ajax I haven't found a solution for both problems...

I tried this one: jQuery .ready in a dynamically inserted iframe but it wasn't working for me...

Thank you all =)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

何止钟意 2024-12-16 14:43:19
$('#globalContainer').append('<iframe id="reusable_iframe" src="" width="90%" height="400" name="reusable_iframe"></iframe>');
//....
$('#reusable_iframe').attr('src', link);

$('#reusable_iframe').load(function(){
    var link = $('#reusable_iframe').contents().find(HTMLclass).eq(position).find(searchBy).attr('href');

});
$('#globalContainer').append('<iframe id="reusable_iframe" src="" width="90%" height="400" name="reusable_iframe"></iframe>');
//....
$('#reusable_iframe').attr('src', link);

$('#reusable_iframe').load(function(){
    var link = $('#reusable_iframe').contents().find(HTMLclass).eq(position).find(searchBy).attr('href');

});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文