gpt4 book ai didi

iframe - iframe 上的 onbeforeunload 事件未在 google chrome 中触发,适用于 IE、firefox

转载 作者:行者123 更新时间:2023-12-05 00:41:14 27 4
gpt4 key购买 nike

如果您在 iframe 内设置了 unbeforeunload 事件,则当您单击 iframe 中的链接时不会触发该事件。它适用于 IE 和 Firefox(不是 Opera,但 Opera 不支持一般 AFAIK 中的 onbeforeunload)。

只是想知道,我做错了什么吗?这种行为不应该是可能的吗?还是 Google Chrome/webkit 中的错误?任何解决方法?

代码示例:

测试.html:

<html>
<body>
<p>Main page content</p>
<script type="text/javascript">
window.onbeforeunload = function() {alert('unloadevent in main window');};
</script>
<iframe id="tpa" src="..test2.html"></iframe>
</body>
</html>

测试2.html:
<html>
<body>
<script type="text/javascript">
self.onbeforeunload = function() {alert('unloadevent in frame window');};
</script>
<a href="http://www.google.com/">Link to for instance google</a>
</body>
</html>

最佳答案

我找到了一种不温和的方法来修复它。
在我拥有域“a.b.com”的 parentPage 中:

<html>
<iframe id="OBU" name="OBU" src="c.d.com">
</iframe>
<script>
window.onbeforeunload = function() {
window.frames["OBUI"].frames["SubOBUI"].location =
"a.b.com/demo.jpg?t="+(new Date()).getTime();
}
</script>
</html>

在我的“cd.com”中:

<iframe id="SubOBUI" name="SubOBUI" src="a.b.com/demo.jpg"
onload="someMethodThatShouldBeExecutedWhileUnload"></iframe>
<script>
var someMethodThatShouldBeExecutedWhileUnload : function() {
alert(1);
}
</script>

试试!

关于iframe - iframe 上的 onbeforeunload 事件未在 google chrome 中触发,适用于 IE、firefox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3171462/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com