检测动态加载的 iframe
detect a dynamically loaded iframe
我需要知道何时在页面上创建特定的iframe。iframe 是在用户按下按钮时使用 JS 创建的,可以多次创建和销毁。
更新:创建 iframe 的 JS 是原始页面的一部分,所以我无法修改它或访问其变量或函数,chrome 扩展程序是沙盒化的。
我无法控制 iframe 的内容,也无法在其中注入任何 JS。我只能在主页中注入JS,否则没有其他控制权。
(这是针对Chrome扩展程序的,据我所知,只能在主页或随页面加载的iframe中注入JS代码,而不能在页面加载后动态创建的iframe)
目前我这样做:
window.setInterval( function() {
$("iframe").each(function(){
if ($(this).attr('id')) {
if ($(this).attr('id') == "iframe_id") {
//my code
}
}
});
}, 1000);
但是由于性能问题,我真的很想避免使用setInterval。这有可能吗?
A. Wolff 可能已经回答了你的问题("当用户按下按钮时,iframe 是用 JS 创建的"所以你知道什么时候创建了 iframe")。
如果你仍然不确定该怎么做......好吧:
间隔不是一个好主意 - 但您可能自己想通了。尝试 on() 方法。这应该会有所帮助。
$( "iframe" ).on( "click", function() {
alert( "This is my iframe!" );
});
如果您在选择 iframe 内容时遇到问题,也许您应该尝试访问如下元素:
$( "#iframe-id" ).contents().find( ".what-i-am-looking-for" ).hide();
如果这是您正在寻找的内容,jQuery文档将非常有用:
http://api.jquery.com/on/
http://api.jquery.com/contents/
干杯!
相关文章:
- 如何在iFrame中触发iFrame加载
- 在iframe加载后删除类
- BrowserAction.onClicked等待iframe加载
- Iframe加载调整大小在Chrome中工作,但不能在IE或Firefox中工作
- Dojo:在 iframe 加载时解析 HTML 内容
- Iframe 加载回调被多次调用
- 阻止iframe加载到移动设备上
- 如何将隐藏/显示事件延迟到提交后Iframe加载
- Iframe加载动画不起作用
- iframe 加载事件中的 setTimeout 似乎没有像预期的那样等待 x 秒
- 强制同步 iframe 加载
- 如何javascript调用iframe加载的文件函数
- 显示微调器,直到 iframe 加载 http post 响应
- 在 KnockoutJS 应用程序中将 AngularJS 应用程序作为 iFrame 加载
- 如何捕获 iframe 加载错误
- 在执行函数之前等待多个 iFrame 加载
- JavaScript 在 Iframe 加载时显示加载 gif
- 如何使 iFrame 在 iframe 加载特定页面时重新加载它所在的页面
- 要随索引页一起加载的滚动更新,并在 iframe 加载来自链接的内容时消失
- 一个页面上有多个 Iframe 加载问题