【发布时间】:2010-09-14 21:54:01
【问题描述】:
当 IFRAME 完成加载时,我需要执行回调。我无法控制 IFRAME 中的内容,因此无法从那里触发回调。
这个 IFRAME 是通过程序创建的,我需要在回调中将其数据作为变量传递,以及销毁 iframe。
有什么想法吗?
编辑:
这是我现在拥有的:
function xssRequest(url, callback)
{
var iFrameObj = document.createElement('IFRAME');
iFrameObj.src = url;
document.body.appendChild(iFrameObj);
$(iFrameObj).load(function()
{
document.body.removeChild(iFrameObj);
callback(iFrameObj.innerHTML);
});
}
这个回调在 iFrame 加载之前,所以回调没有返回数据。
【问题讨论】:
-
我认为您不想将事件处理程序附加到 iframe 本身,但它是内容窗口。
-
问题是跨域请求。如果 iframe 来自另一个域,则不能这样做
-
实际上,每次 iframe 完成加载文档时都会触发 iframe 对象上的 load 事件,否则,您需要在每次加载后连接到窗口
-
在这里查看我的答案:stackoverflow.com/a/36155560/3894981
标签: javascript events dom iframe