1

SearchInsideOutという検索サービスを実装しています。この検索サービスは、Webページの結果を完全なWebページに置き換えるだけです(はい、使用しiframeました)。

私が対処しなければならない問題は、iframeを壊すページです。
私が見つけた有望な解決策はonbeforeunload、ユーザーが私のサイトにとどまるか離れるかを決定できるようにするために使用しています。
しかし、これはまた別の厄介な振る舞いを生み出します。ユーザーが私のサイトの他のリンクをクリックすると、onbeforeunloadもトリガーされます。

幸い、window.onbeforeunload=null自分のサイトのリンクのonclickイベントに配置することで、このケースを解決できました。
残念ながら、「更新/戻る」ボタンをクリックするなどの外部イベントを検出する方法がわかりません。
この困難を解決するにはどうすればよいですか?

すべての提案とコメントは高く評価されています。

4

1 に答える 1

0

このサイトを例にとります。投稿に返信するテキストを入力した後、ページを更新してみてください。作業を続行するか終了するかを尋ねるページが表示されます。投稿に回答せずに別のテストを行い、更新するだけで、サイトが「回答」が空かどうかをテストしているため、確認が表示されないことがわかります。例:

<html>
<head>
<script>
function closeIt()
{
  var mytext = document.getElementById("mytext").value;
  if(mytext != "")
     return "Any string value here forces a dialog box to \n" + 
         "appear before closing the window.";
}
window.onbeforeunload = closeIt;
</script>
</head>
<body>
  <textarea id="mytext"></textarea>
</body>
</html>

したがって、ボックスが表示されるかどうかはあなた次第です。いつ、どのように機能するかについては、 Microsoft MSDNにもアクセスしてください。onbeforeunload

于 2010-05-26T10:19:51.983 に答える