0

ユーザーがクリックできる画像のリストを含む子ウィンドウを開くボタンがあり、パラメーターの値を関数に送信し、親ウィンドウで作成された変数に配列値のパラメーターを配置してから閉じます子ウィンドウ。私が持っている現在のコードは Chrome と Firefox で動作しますが、何らかの理由で IE では動作しません。可能であれば IE 7 までで動作するようにしたいのですが、現時点では IE 9 でも動作しません。

親ウィンドウ コード:

var edge;

function getEdgeProfile(){
    myEdge = window.open('edge.html','','top=50,left=50,width=400,height=400');
}

子ウィンドウ コード:

<head>
<script>

function selectEdge(name, price, type){
    opener.edge = [name, price, type];
    window.close();
}

</script>
</head>
<body>

<img src="1.png" width="100px" height="100px" onClick='selectEdge("Square Edge 2mm ARRIS", 30.5, 1)'>
<img src="2.png" width="100px" height="100px" onClick='selectEdge("4 x 4 mm SINGLE BEVEL", 38.56, 1)'>
<img src="3.png" width="100px" height="100px" onClick='selectEdge("4 x 4 mm DOUBLE BEVEL", 46.49, 1)'>
<img src="4.png" width="100px" height="100px" onClick='selectEdge("V JOINT WITH SINGLE PENCIL", 38.56, 2)'>

</body>

JSFiddleを追加しますが、別のページが開くのでできません〜助けていただければ幸いです!

4

1 に答える 1

1

ポップアップを閉じると、ポップアップによって割り当てられたデータは失われます。(IEで)

データをパラメーターとして、ポップアップからオープナーに関数を呼び出すことをお勧めします。関数は、データをオープナーの変数に設定 (コピー) します。したがって、これは機能するはずです:(
まだテストされていません)

子ウィンドウ:

function selectEdge(name, price, type){
    opener.setEdge(name, price, type);
    window.close();
}

親ウィンドウ:

function setEdge(name, price, type){
    edge = [name, price, type];
}
于 2012-11-21T12:08:34.720 に答える