javascriptでのエラーについて
Windows7+IE8にて以下の処理を行いたいのですが、
==================================================
(1) 親ウィンドウ(oya_window.html)から、【window.open】にて
子ウィンドウ(ko_window.html)を開く
(2) 子ウィンドウ(ko_window.html)の【window.opener】にて
親ウィンドウ(oya_window.html)に定義されている
【window.open】を実行する関数[openWindow]を呼び出し、
Yahooページを開く
==================================================
(2)の部分で以下のエラーとなり、Yahooページを開く事ができません。
---------------------------------------------------------
このWebページのエラーにより、正しく機能しない場合があります。
---------------------------------------------------------
タグが無効です。
oya_window.html ライン:10
コード:0 文字:5
---------------------------------------------------------
同マシン(Windows7)のfirefoxでは問題なく処理が行えるため、IEの
何らかの設定に起因していると思うのですが、IEの何の設定に起因して
いるのかわからず、困っています。
何か情報をお持ちの方いらっしゃいましたら、よろしくお願いします。
【その他情報】
○IEをアドオンなしで起動しても同エラーが発生することから、IEの
アドオンによる影響ではないと思われます。
○以下の処理は問題なく実行できます。
▼パターンA
==================================================
(1) 親ウィンドウ(oya_window2.html)から、【window.open】にて
子ウィンドウ(ko_window2.html)を開く
(2) 子ウィンドウ(ko_window2.html)にて(元々親ウィンドウ
(oya_window.html)に定義していた)【window.open】を実行する
関数[openWindow]を呼び出し、Yahooページを開く
==================================================
▼パターンB
==================================================
(1) 親ウィンドウ(oya_window3.html)から、【window.open】にて
子ウィンドウ(ko_window3.html)を開く
(2) 子ウィンドウ(ko_window3.html)の【window.opener】にて
親ウィンドウ(oya_window.html)に定義されている
【document.bgColor】を実行する関数[changeColor]を呼び出し
親ウィンドウの背景色を灰色に変更する
==================================================
【ソース】
▼本来のパターン
==親ウィンドウ(oya_window.html)===================
<HTML>
<HEAD>
<TITLE>親ウィンドウ
</TITLE>
<script language="Javascript">
function koopen(){
window.open("ko_window.html","ko_window","status=yes,width=800,height=100");
}
function openWindow(){
window.open("http://yahoo.co.jp","","");
}
</script>
</HEAD>
<BODY>
<a href="JavaScript:koopen();">子ウインドウを開く</a>
</BODY>
</HTML>
==================================================
==子ウィンドウ(ko_window.html)===================
<HTML>
<HEAD>
<TITLE>子ウィンドウ
</TITLE>
<script language="Javascript">
function helpop(){
window.opener.openWindow();
}
</script>
</HEAD>
<BODY>
<a href = "JavaScript:helpop();">Yahooページを開く</a>
</BODY>
</HTML>
==================================================
▼パターンA
==親ウィンドウ(oya_window2.html)===================
<HTML>
<HEAD>
<TITLE>親ウィンドウ
</TITLE>
<script language="Javascript">
function koopen(){
window.open("ko_window2.html","ko_window","status=yes,width=800,height=100");
}
</script>
</HEAD>
<BODY>
<a href="JavaScript:koopen();">子ウインドウを開く</a>
</BODY>
</HTML>
==================================================
==子ウィンドウ(ko_window2.html)===================
<HTML>
<HEAD>
<TITLE>子ウィンドウ
</TITLE>
<script language="Javascript">
function helpop(){
window.opener.window.open("http://yahoo.co.jp","","");
}
</script>
</HEAD>
<BODY>
<a href = "JavaScript:helpop();">Yahooページを開く</a>
</BODY>
</HTML>
==================================================
▼パターンB
==親ウィンドウ(oya_window3.html)===================
<HTML>
<HEAD>
<TITLE>親ウィンドウ
</TITLE>
<script language="Javascript">
function koopen(){
window.open("ko_window3.html","ko_window","status=yes,width=800,height=100");
}
function changeColor(){
document.bgColor="CCCCCC";
}
</script>
</HEAD>
<BODY>
<a href="JavaScript:koopen();">子ウインドウを開く</a>
</BODY>
</HTML>
==================================================
==子ウィンドウ(ko_window3.html)===================
<HTML>
<HEAD>
<TITLE>子ウィンドウ
</TITLE>
<script language="Javascript">
function helpop(){
window.opener.changeColor();
}
</script>
</HEAD>
<BODY>
<a href = "JavaScript:helpop();">親ウィンドウの色を変える</a>
</BODY>
</HTML>
==================================================
お礼
ありがとうございます、参考にしてみましたがやはり無理でした。
補足
下記のような方法で書き換えたのですがやはり意図した通りに動きませんでした。 やろうとしたい事は分かって頂けますでしょうか? 素人なのでよろしくお願い致します。 function set(){ var open1 = window.opener.document.getElementById('open1').value; var open2 = window.opener.document.getElementById('open2').value; var open3 = window.opener.document.getElementById('open3').value; var open4 = window.opener.document.getElementById('open4').value; var open5 = window.opener.document.getElementById('open5').value; if (open1 == 'open1') { document.getElementById("open1").value = window.opener.document.getElementById("open1").value; } else if(open2 == 'open2') { document.getElementById("open1").value = window.opener.document.getElementById("open2").value; } else if(open3 == 'open3') { document.getElementById("open1").value = window.opener.document.getElementById("open3").value; } else if(open4 == 'open4') { document.getElementById("open1").value = window.opener.document.getElementById("open4").value; } else if(open5 == 'open5') { document.getElementById("open1").value = window.opener.document.getElementById("open5").value; } }