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函数没有被调用。
答案 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不起作用,请添加一些代码。如果没有看到你的代码,应该怎么知道你的代码有什么问题呢?