0

私は2つのウェブページを持っています。ページ1は、送信時にページ2がjQueryを介してロードされるフォームです(phpページを呼び出し、ロードせずに同じページ1に出力を返します)。違反が発生しないように、セッション変数を維持しています。ただし、特定のシナリオでは、ページ1のウィンドウを閉じたいので、次のコードをページ2からo/pとして渡します。

echo '<div style="background-color:#ffa; padding:5px"><font color=red>Multiple sessions of the same page are open. Please <a href="" onclick="window.close();">close</a> use the latest window for submission</font></div>';
echo '<script type="text/javascript">
function parent_close(){
    parent.window.close();  
}
setTimeout(parent_close,5000);  
</script>';

ただし、[閉じる]リンクをクリックしてもメインウィンドウが閉じたり、ウィンドウが5秒で自動的に閉じたりすることはないようです(これは私が実際に望んでいることです)。

どこが間違っているのですか?

4

2 に答える 2

0

javascriptで開いていない限り、javascriptでトップウィンドウを閉じることはできません。申し訳ありませんが、できません。

行だけをコピーしてみてください

top.window.close();

コンソールに。それを実行して、何が起こるかを確認します。何もありません。

あなたが置く場合

console.log('here')

parent_close関数内で、ステートメントが実行されていることがわかります。

于 2012-04-10T17:36:18.397 に答える
0

リンクのhrefには、空の値だけでなく、値を含める必要があります。例:

href="#"

ではなく:

href=""

また、の最初の引数setTimeoutは引用符で囲む必要があります。おそらく、関数を呼び出して、返さないようにする必要があります。例:

setTimeout("parent_close()",5000);
于 2012-04-10T17:21:18.970 に答える