如题,本人小白一个,遇到复杂的问题不知如何入手,求高手赐教,当iframe的页面发生跳转时则提示是否要跳转,代码应该怎样写,是否用event事件处理?

解决方案 »

  1.   

    如果没跨域,可以通过onload事件向iframe加载页面中注册onbeforeunload事件,跨域就没搞了<script>
        function addEvent(ifr) {
            ifr.contentWindow.onbeforeunload = function (e) {
                return (e || window.event).returnValue = '确认要离开页面?!!';
            }
        }
    </script>
    <iframe src="2.html" onload="addEvent(this)" name="ifr"></iframe>
    <a href="x.html" target="ifr">x.html</a>
      

  2.   

    在修改iframe的src的事件函数里面判断吧,如果要跳转再更改iframe的src
      

  3.   

    iframe的src总不会自己就变了,你在哪儿修改的iframe的src就在哪儿写吧,反正判断一下在改,给iframe加个id好找if(window.confirm('确定?')) {
        document.getElementById('iframeId').src= "xxx.htm";
    }
    或者你用楼上的方法,给iframe加个id,然后addEvent(document.getElementById('iframeId'));
      

  4.   

    iframe的src总不会自己就变了,你在哪儿修改的iframe的src就在哪儿写吧,反正判断一下在改,给iframe加个id好找if(window.confirm('确定?')) {
        document.getElementById('iframeId').src= "xxx.htm";
    }
    或者你用楼上的方法,给iframe加个id,然后addEvent(document.getElementById('iframeId'));
    我理解,不过如果有很多连接的话一个个的加处理函数有点麻烦,所以1楼的方法可能会好点
      

  5.   

    斑竹大人能解释下 return (e || window.event).returnValue = '确认要离开页面?!!';这段代码的作用吗,我填true或者false还是其他内容都没影响
      

  6.   

    (e || window.event)这个是为了兼容IE和标准浏览器的,获取离开事件对象,然后设置这个对象的returnValue为提示的内容,这样离开页面前会提示设置的内容return语句好像是兼容某些版本的chrome用的,chrome有些时候设置离开时间对象的returnValue无效,而只接受return返回的内容所以一起兼容就是那些语句的组合了