1

我正在实现一个名为SearchInsideOut的搜索服务。这个搜索服务只是用完整的网页替换网页结果(是的,我用过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 回答