Bir üst pencereyi iframe'den yeniden yönlendirmek için hangi JavaScript'i kullanmam gerekir?
JavaScript veya başka bir yöntem kullanarak üst pencereyi yeni bir URL'ye yönlendiren bir köprüyü tıklatmalarını istiyorum.
Bir üst pencereyi iframe'den yeniden yönlendirmek için hangi JavaScript'i kullanmam gerekir?
JavaScript veya başka bir yöntem kullanarak üst pencereyi yeni bir URL'ye yönlendiren bir köprüyü tıklatmalarını istiyorum.
Yanıtlar:
window.top.location.href = "http://www.example.com";
Daha önce belirtildiği gibi, üst iframe'i yönlendirecektir.
sandbox" adlı iframe'ler için yeni bir HTML5 özelliğinden kaynaklanıyor - developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe Bu sandboxözellik, javascript'in iframe tabanlı bazı işlemleri yapmasını engelliyor izin verilen eylemlerin belirli bir beyaz listesinde. allow-top-navigationMülkiyet işyerinde için bu kodu verir beyaz listesi içinde etkinleştirebilirsiniz eylemlerden biridir. sandboxÖzellik yoksa tüm eylemlere izin verilir. Varsa ve boş bir dize varsa, tüm eylemler reddedilir.
Bunun da <a href="..." target="_top">link</a>işe yaradığını gördüm
window.top.location.href = "http://example.com";
window.top kareler hiyerarşisinin en üstünde sayfanın pencere nesnesini ifade eder.
veya bir alternatif (belge nesnesini kullanarak)
parent.document.location.href = "http://example.com";
parent.location.href = .... developer.mozilla.org/tr/document.location
target="_parent"benim için harika çalıştı. kolay ve sorunsuz!
@MIP doğru, ancak Safari'nin daha yeni sürümlerinde, iFrame'e yeniden yönlendirme erişimi vermek için sanal alan özelliği (HTML5) eklemeniz gerekecek. Aralarında boşluk bırakarak eklenebilecek birkaç belirli değer vardır.
Referans (kaydırmanız gerekecektir): https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe
Ör:
<iframe sandbox="allow-top-navigation" src="http://google.com/"></iframe>
sandboxÖzniteliğin, içindeki içerik için ek bir kısıtlamalar kümesi sağladığını unutmayın <iframe>. Özelliğin değeri sandboxbelirli kısıtlamaları kaldırır. Bu özelliği kullanarak dikkat edin. w3schools.com/tags/att_iframe_sandbox.asp
Kullanıcının herhangi bir şey yapmasına gerek kalmadan başka bir alana yönlendirmek isterseniz mülkle bir bağlantı kullanabilirsiniz:
target="_parent"
Daha önce de belirtildiği gibi kullanın ve ardından şunu kullanın:
document.getElementById('link').click();
otomatik olarak yönlendirmesini sağlamak için.
Misal:
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<a id="link" target="_parent" href="outsideDomain.html"></a>
<script type="text/javascript">
document.getElementById('link').click();
</script>
</body>
</html>
Not: Javascript click () komutu, bağlantıyı bildirdikten sonra gelmelidir.
Kullanmayı deneyin
window.parent.window.location.href = 'http://google.com'
parent.location = 'url'
window.top.location.href = 'index.html';
Bu, ana pencereyi dizin sayfasına yönlendirecektir. Teşekkürler
Üst pencereyi bir iframe eyleminden yeniden yönlendirmek için window.top.location.href kullanmamız gerekir.
Üst pencerede iframe'i aynı üst öğedeki iframe'e yönlendirin:
window.parent.document.getElementById("content").src = "content.aspx?id=12";
IFramede. Kabul edilen cevap üst pencereye hitap ettiği için, sorunuzu biraz değiştirmenizi öneririm.