我创建了一个自动程序,为此我需要遍历每个框架文档并设置一些输入。
我用下面的函数迭代它,这工作正常,但在下面的URL中它给了我Access Denied错误。
我用来迭代每一帧和Iframe的代码。
var i = new Array;
var t = '';
var IFrameDoc;
function GetAllFrame(a, n)
{
t = '';
try {
for (i[n] = 0; i[n] < a.length; i[n]++)
{try{
var oIframe = a[i[n]];
IFrameDoc = oIframe.document;
alert(IFrameDoc.body.outerHTML);
}
catch (e) {
alert("Internal Error" + e.message + " - " + a[i[n]].frames.length);
}
if (a[i[n]].frames.length) t += GetAllFrame(a[i[n]].frames, n + 1);
}
}
catch (e) {
alert("External Error" + e.message);
}
return t;}
答案 0 :(得分:0)
如果其他iFrame不是您的,则无法解决,您无法覆盖交叉原始策略。 如果您拥有它们两者,那么您可以使用HTML5的postMessage API在iFrame和父窗口之间进行“对话”,但我不相信这就是您想要的。 如果你这样做,请发表评论,我将编辑我的答案。