2013-07-24 25 views
5

Używam poniższego kodu do opuszczania bieżącej strony. Działa dobrze w chrome i mozilla, ale wywołuje wszystkie znaczniki zakotwiczenia w przeglądarce IE 10. Co mogę zrobić, aby uniemożliwić wywoływanie tego w przeglądarce IE 10?Problem onbeforeunload w przeglądarce IE

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

to wydaje się być rozsądne pytanie, zastanawiam się, dlaczego została wybrana zostanie zamknięta –

Odpowiedz

1

to domyślne zachowanie IE, trzeba usunąć zdarzenie onbeforeunload z tagiem kotwicy podczas unoszące się nad nim:

$(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');} 
      ); 


}); 

Albo trzeba „return false” zdarzenie onClick każdej kotwicy tag:

<a onclick="someFunction(); return false;" href="lnk" >my link</a> 
+0

użyłem powyższy kod nadal onclick znacznika zakotwiczenia znowu będzie caliing przed wyładowaniem – shivakumar

+0

zmieniono $ ("a") !!! sprawdź teraz –

+0

nadal nie działa Ktoś może podać mi dokładne rozwiązanie z powyższym kodem – shivakumar

0

Użyj tego

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

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

// For Chrome and Safari 
return ''; 
}; 
0

Spróbuj ten

<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> 

Powiązane problemy