0

私は 1 つの自動化プログラムを作成しました。そのために、すべてのフレーム ドキュメントを繰り返し処理し、いくつかの入力を設定する必要があります。

以下の関数で繰り返しますが、正常に動作していますが、以下の 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;}
4

1 に答える 1

0

他の iFrame が自分のものでない場合、解決できず、クロス オリジン ポリシーをオーバーライドできません。両方を所有している場合、HTML5 の postMessage API を使用して iFrame と親ウィンドウの間で「対話」することができますが、それがあなたの望むものだとは思いません。もしそうなら、コメントを残してください。答えを編集します。

于 2013-02-20T13:45:28.190 に答える