使用Javascript循环iframe

时间:2013-02-19 08:15:47

标签: javascript google-chrome-extension

我创建了一个自动程序,为此我需要遍历每个框架文档并设置一些输入。

我用下面的函数迭代它,这工作正常,但在下面的URL中它给了我Access Denied错误。

http://usacarhire.com/

我用来迭代每一帧和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;}

1 个答案:

答案 0 :(得分:0)

如果其他iFrame不是您的,则无法解决,您无法覆盖交叉原始策略。 如果您拥有它们两者,那么您可以使用HTML5的postMessage API在iFrame和父窗口之间进行“对话”,但我不相信这就是您想要的。 如果你这样做,请发表评论,我将编辑我的答案。