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-navigation
Mü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 sandbox
belirli 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";
IFrame
de. Kabul edilen cevap üst pencereye hitap ettiği için, sorunuzu biraz değiştirmenizi öneririm.