の値と の値を比較して、Firefox 3 でいくつかのテストを行い.src
まし.documentWindow.location.href
たiframe
。(注:documentWindow
は Chrome で呼び出されるcontentDocument
ため、Chrome では代わりに.documentWindow.location.href
になります.contentDocument.location.href
。)
src
は常に、ユーザーの操作なしで iframe に読み込まれた最後の URL です。つまり、URL の最初の値、または含まれているウィンドウから Javascript で設定した最後の値が含まれます。
document.getElementById("myiframe").src = 'http://www.google.com/';
ユーザーが iframe 内を移動すると、src を使用して URL の値にアクセスできなくなります。前の例で、ユーザーが www.google.com から離れた場合、次のようにします。
alert(document.getElementById("myiframe").src);
「 http://www.google.com 」は引き続き表示されます。
documentWindow.location.href
含まれているウィンドウと同じドメインに iframe にページが含まれている場合にのみ使用できますが、使用可能な場合は、ユーザーが iframe 内を移動した場合でも、常に URL の正しい値が含まれています。
documentWindow.location.href
(または の下にあるもの)にアクセスしようとしてdocumentWindow
、iframe が含まれているウィンドウのドメインに属していないページにある場合、例外が発生します。
document.getElementById("myiframe").src = 'http://www.google.com/';
alert(document.getElementById("myiframe").documentWindow.location.href);
Error: Permission denied to get property Location.href
他のブラウザはテストしていません。
それが役に立てば幸い!