2012-02-01 19 views
7

Ana hedefte açılan bağlantılara sahip iframe içeren cep telefonlarına yönelik bir web sayfam var.Javascript, mobil safari'de geri düğmesine basıldıktan sonra iframe'de çalışmayı durdurur

iOS 5.0.1'deki Safari'de, bir kullanıcı bir bağlantıyı tıklattığında, sayfaya geri dönmek için geri düğmesini kullanır, javascript iframe içinde yürütmeyi durdurur.

Bağlantıyı tıklayın uyarısı onaylamak ve geri düğmesini kullanın:

Basit bir demo

sorunu göstermek için. Bağlantıyı ikinci kez tıkladığınızda, uyarı gösterilmez.

index.html:

<html> 
    <body> 
    <iframe src="iframe.html"></iframe> 
    </body> 
</html> 

Iframe.html:

<html> 
    <body> 
    <a target="_parent" onclick="alert('Click')" href="http://www.google.com"> 
     Link 
    </a> 
    </body> 
</html> 

Bunu neden olabilecek ne fikirler kalmadı. Bununla daha önce karşılaşan oldu mu?

cevap

2

onay dışarı Problems with Page Cache in iOS 5 Safari when navigating back/unload event not fired cevabını. Eğer iframe içinde sayfanıza geçerliyse bu işe yaramazsa, bu iframe barındıran sayfanın tamamındaki olmalıdır -

Bilginize
<body onunload=""> 
... 
<script type="text/javascript"> 
if ((/iphone|ipod|ipad.*os 5/gi).test(navigator.appVersion)) { 
    window.onpageshow = function(evt) { 
    // If persisted then it is in the page cache, force a reload of the page. 
    if (evt.persisted) { 
     document.body.style.display = "none"; 
     location.reload(); 
    } 
    }; 
} 
</script> 
+0

:

benim için çalıştı cevap aşağıdakileri yapmanız oldu . Ya da iframe'm gerçekten başka bir iframe içine gömülü olması olabilir. Evet, üçüncü taraf bir bileşen kullanıyorum. – kamranicus

+1

Evet, bu kesinlikle iframe'i içeren sayfada bulunmalıdır. – DrewB

İlgili konular