beforeunload safari iframe问题

时间:2011-09-19 09:05:49

标签: javascript jquery

sample.html

<html>
<head>
<script type="text/javascript">
window.onbeforeunload = function (e) {
  e = e || window.event;

  // For IE and Firefox prior to version 4
  if (e) {
    e.returnValue = 'Any string';
  }

  // For Safari
  return 'Any string';
};

</script>

</head>
<body>

<h1> <a href="http://www.yahoo.com"> Yahoo</a> </h1>

</body>
</html>

main.html中

<html>
<body>

<iframe src="sample.html" width="100%" height="300">
  <p>Your browser does not support iframes.</p>
</iframe>

</body>
</html>

所以问题是当我点击yahoo链接onbeforeunload函数没有被调用。

2 个答案:

答案 0 :(得分:1)

这是Iframe的解决方案

我在iFrameObject变量中获得了iFrame对象,然后在safari 3.1.1和其他浏览器中使用了以下命令

iframeObject.contentWindow.onbeforeunload = confirmExit;

答案 1 :(得分:0)

由于您没有提供太多信息,我只能猜测您的问题是什么,并向您展示从here获取的跨浏览器卸载消息的工作可能性:

window.onbeforeunload = function (e) {
  e = e || window.event;

  // For IE and Firefox prior to version 4
  if (e) {
    e.returnValue = 'Any string';
  }

  // For Safari
  return 'Any string';
};

如果你做了不同的事情,试试这个 - 如果srill不起作用,请添加一些代码。如果没有看到你的代码,应该怎么知道你的代码有什么问题呢?