0

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

我用下面的函数迭代它,它工作正常,但是在下面的 URL 中它给了我访问被拒绝的错误。

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;}
4

1 回答 1

0

如果其他 iFrame 不是您的,则无法解决,您无法覆盖跨源策略。如果你确实拥有它们,你可以做的是使用 HTML5 的 postMessage API 在 iF​​rame 和父窗口之间“对话”,但我不相信这就是你想要的。如果你这样做,请发表评论,我将编辑我的答案。

于 2013-02-20T13:45:28.190 回答