新しいウインドウから元のウインドウ(opener/parent)へアクセスする

  window.opener プロパテイの有効範囲



関連するページ

新しいウインドウを開く


main.htm
  
<input type="text" id="fld">
  

sub.htm
  
<script type="text/javascript">
// opener アクセス
function opener_access() {
	// 処理
	if ( window.opener ) {
		try {
			window.opener.document.getElementById("fld").value = "OK";
		}
		catch(e){}
	}
}
</script>
<input type="button" value="opener へアクセス" onclick='opener_access();'>
  

新しいウインドウをタブかウインドウで開く場合は、一様に正しく動作するのですが、
対象が IFRAME に対して行われた場合、IE かそれ以外で差が出ます。

IE の場合は、常に IFRAME に対して開いた場合は、 opener は動作しないのですが、
他のブラウザでは、IFRAME に対して開いた場合でも、window.open を使用した場合
は動作します。

IFRAME で開かれた時も一様に参照するには、以下のようにします

IFRAME の中からのアクセスは parent です
<script type="text/javascript">
// opener アクセス
function opener_access() {
	// 処理
	if ( window.opener ) {
		try {
			window.opener.document.getElementById("fld").value = "OK";
		}
		catch(e){}
	}
	else {
		try {
			window.parent.document.getElementById("fld").value = "OK";
		}
		catch(e){
			alert("単独ウインドウです")
		}
	}
}
</script>


関連するページ

新しいウインドウを開く : (HTMLのみ / JavaScript)
新しいウインドウから元のウインドウ(opener/parent)へアクセスする
JavaScript : 新しく開いたウインドウにアクセスする
JavaScript : 新しく開いたウインドウを閉じる
JavaScript : IFRAME の中にアクセスする


WEBアプリ総合

















   SQLの窓    create:2010/11/28  update:2015/09/23   管理者用(要ログイン)





フリーフォントツール

SQLの窓ツール

SQLの窓フリーソフト

写真素材

一般ツールリンク

SQLの窓

フリーソフト