QA@IT

iframeで外部サイトの要素データを取得

6341 PV

現状iframeを使って提携している、別webサーバの外部サイトを表示して、その参照しているサイトのソースコードを取得しているのですが、参照しているサイトの影響もあるのか以下エラーが出てしまい取得できません。
** SecurityError: Blocked a frame with origin “参照する側のサイトのドメイン” from accessing a cross-origin frame.**

以下参照する側のサイトのソースコードの抜粋です。

<iframe src="http://~参照URL"> </iframe>
<script type="text/javascript">
window.onload = function() {
    try {
        var d = document.getElementsByTagName("iframe")[0].contentWindow.document;
    } catch(e) {
        alert(e);
        return;
    }
    alert(d.body.innerHTML);
}
</script>

その他phpなども確認しましたがなかなか良い方法が見当たりませんでした。
参照する外部サイトがjavascriptなどで要素が追加削除されてしまう仕様なのでできればボタンを押すとその時のソースコードが取得できるようなものを目指しています。

またiframeなどを使う際セキュリティ的に同一ドメインであることがあげられるかと思いますが、提携先にも確認をとり利用する確認はとってあります。

お手数ですが、何か良い方法をご存知の方の知見をご教授いただければと思います。
よろしくお願いします。

回答

ウォッチ

この質問への回答やコメントをメールでお知らせします。