5

我使用下面的代码离开当前页面。它在 chrome 和 mozilla 中运行良好,但它要求 IE 10 浏览器中的每个锚标记。我该怎么做才能防止在 IE 10 浏览器中调用它?

window.onbeforeunload = function()
{   
   return  "";
};
4

3 回答 3

1

这是 IE 的默认行为,当您将鼠标悬停在锚标记上时,您需要从锚标记中删除 onbeforeunload 事件:

$(document).ready(function(){
    //store onbeforeunload for later use
    $(window).data('beforeunload',window.onbeforeunload);  

      //remove||re-assign onbeforeunload on hover 
    $('a')
      .hover( 
             function(){window.onbeforeunload=null;},
             function(){window.onbeforeunload=$(window).data('beforeunload');}
            );


});

或者您需要“返回 false”每个锚标记的 onClick 事件:

<a onclick="someFunction(); return false;" href="lnk" >my link</a>
于 2013-07-24T05:46:38.477 回答
1

用这个

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

// For IE and Firefox
if (e) {
    e.returnValue = '';
}

// For Chrome and Safari
return '';
};
于 2013-07-24T05:58:45.377 回答
0

试试这个

<html>
<head>
<script>
   function closeIt()
   {
      return "Any string value here forces a dialog box to \n" + 
     "appear before closing the window.";
    }
  window.onbeforeunload = closeIt;
</script>
</head>

于 2013-07-24T06:04:15.910 回答