0

javascript を使用して iframe の更新された URL を取得したいですか?

このような:

<iframe src="http://yahoo.com" id="ifrm" onload="iframeurl()" ></iframe>
<script>
function iframeurl() {
var ifrm = document.getElementById("ifrm");
alert(ifrm.src);
}
</script>

しかし、上記のコードは機能しません。これどうやってするの?上記のコードを使用しているのと同じドメインでホストされていない iframe で外部リンクを使用します。

助けてください。

ありがとう

再度、感謝します。http://yahoo.comは単なる例です。ここでも私のドメインは szacpp.com で、other.com のリンクを取得する必要があります。ドメインにアクセスできないときに、htaccess を other.com に配置する必要があるということです。

4

2 に答える 2

3

iframe 内でページが変更されても、iframeのsrc属性は更新されません。

唯一のオプションは、iframe 内のドキュメントを照会することですが、iframe 内のページが同じドメインからのものである場合にのみ機能します (そうでない場合は、同じオリジン ポリシーにヒットします) 。

アップデート

にアクセスできる場合は、ファイルother.comに設定できるはずです (そのファイル システムを使用するサーバーを使用していると仮定します)。Access-Control-Allow-Origin.htaccess

あなたはより多くの情報を見つけるでしょう...

アクセスできない場合other.com、単に運が悪いだけです。src内でページが変更されたときに の属性iframeが更新されないため、新しいページが何であるかを知ることはできませんiframe。また、私 (より正確には Quentin) が前述したオリジン ポリシーと同じため、JavaScript を使用することはできません。

于 2012-07-01T10:38:17.523 に答える
-1

これを試して :

<iframe src="http://yahoo.com" id="ifrm" onload="iframeurl()" ></iframe>
<script>
function iframeurl() {
var ifrm = parent.document.getElementById("ifrm");
alert(ifrm.src);
}
</script>
于 2012-07-01T10:41:00.800 に答える