1

我想完成一些非常简单的事情。我指的是通过 iframe 的网站。

iframe 有一个调用“onBeforeUnload”的函数。我想从我的父页面在 iframe 中卸载之前禁用 onbefore。

我已经想出了如何在同一域和同一页面上执行此操作。但是,我怎样才能为跨域做到这一点?

无论多么复杂,我都会做任何事情来完成这项工作。

<iframe src="http://www.domain.com" width="100%" height="500" id="iframe"></iframe> 

<script type="text/javascript">

 $(document).ready(function () {

 $('#iframe').load( function() {
      alert('Load was performed.'); 
    document.getElementById('iframe').contentWindow.window.onbeforeunload=null; 
//NOTE: DOESN'T WORK CROSS DOMAIN! 
    });

    window.onbeforeunload=null  //Disables onbeforeunload event on THIS page so long as it is AFTER the original onbeforeunload event

    });

</script>

谢谢!

4

2 回答 2

1

在主页的onbeforeunload事件中使包含iframe的div的innerhtml等于空字符串将停止警报。使用主页的onbeforeunload,因为离开页面时没有使用iframe。

于 2019-07-04T05:52:05.757 回答
0

由于同源策略,这根本不可能,除非您实际上也有自己的代码在 iframe 中运行。

在这种情况下,您可以使用 easyXDM 来执行此操作 - 但如果是这种情况,您只需直接删除处理程序,对吗?

于 2010-12-07T09:31:11.010 回答