2015-07-03 20 views
5

Aşağıdaki basit kod aşağı sorunumu kırdın: uyarı veya hatasız krom beklendiği gibi çalışırIE11, window.onbeforeunload kullanırken neden hata yapıyor?

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <title>IE test</title> 
    <script src="https://code.jquery.com/jquery-1.11.3.js"></script> 
    <script type="text/javascript" charset="utf-8"> 
     $(document).ready(function() { 
     $('.js-click').click(function(e){ 
      window.location.href = 'http://www.google.com/'; 
     }); 
     window.onbeforeunload = function(e){ 
      return 'moving on'; 
     }; 
     }); 
    </script> 
    </head> 
<body> 
    <a href="#" class="js-click">Google</a> 
</body> 
</html> 

ama IE11 içinde size "Bu Sayfada Kal" seçeneğini aşağıdaki hatayı atar :

File: 10.0.1.126:8080, Line: 10, Column: 11 

Neden olursa olsun?

+0

IE benim için iyi çalışıyor 11.0.9600.17842 –

+0

11.0.9600.17843 çalıştırıyorum. Gerçekten bir hata diyaloğunu açmıyor, ancak bu mesajı JavaScript konsolunda görüyorum. Oraya baktın mı? – socketwiz

cevap

6

Aslında hata geliyor:

window.location.href = 'http://www.google.com/'; 

Ve bu sadece spekülasyon, ama IE geliştiricileri kullanıcı bağlantıyı takip etmek değil karar verdiğinde yakalamak mümkün istedim inanıyoruz. Böylece, aslında bu bloğu yakalamaya çalışabilir ve kullanıcının ne zaman yönlendirilemediğini (önceden yüklemenin bir sonucu olarak) öğrenebilirsiniz.

try { 
    window.location.href = 'http://www.google.com'; 
} catch (error) { 
    alert("Y U NO REDIRECT"); 
} 

Eğer herhangi bir hata mesajı var olduğunu göreceksiniz console.log(error) ve hata numarası 2147467259 edin.

+0

Bana makul görünüyor, teşekkürler! – socketwiz

İlgili konular