Yanıtlar:
En iyi çözümü temel etiketi kullanmak olduğunu buldum . Iframe'deki sayfanın başına aşağıdakini ekleyin:
<base target="_parent">
Bu, üst penceredeki sayfadaki tüm bağlantıları yükleyecektir. Bağlantılarınızın yeni bir pencerede yüklenmesini istiyorsanız, şunu kullanın:
<base target="_blank">
Bu etiket tüm tarayıcılarda tamamen desteklenmektedir .
<base target>
herhangi birinden önce gelmelidir <a href>
; göreli URL'lerin çözümlendiği temel URL'yi ayarladığından <base href>
herhangi bir URL referansından ( <* href>
<* src>
<form action>
<object data>
…) önce gelmelidir .
<base
Etiketin, w3.org/TR/html5/document-metadata#the-base-element spesifikasyonuna göre kapanma olmadığını unutmayın, bu yüzden olmalıdır<base target="_parent" >
Target-niteliğini kullanın:
<a target="_parent" href="http://url.org">link</a>
<base target="_blank">
tamam, ancak buradaki soru, iframe'deki tüm bağlantıların davranışını değiştirmekle ilgili değil, tek bir bağlantıyla ilgilidir. Benim için doğru cevap bu.
Herhangi bir seçeneği kullanabilirsiniz
yalnızca üst sayfa olması durumunda:
tüm bağlantıyı üst sayfaya veya üst iframe'e açmak istiyorsanız , iframe'in baş bölümünde aşağıdaki kodu kullanırsınız:
<base target="_parent" />
VEYA
üst sayfaya veya üst iframe'e belirli bir bağlantı açmak istiyorsanız , aşağıdaki yolu kullanırsınız:
<a target="_parent" href="http://specific.org">specific Link</a>
<a href="http://normal.org">Normal Link</a>
VEYA
iç içe iframe durumunda:
Tüm bağlantıyı tarayıcı penceresine açmak istiyorsanız (tarayıcı url'sine yönlendir), iframe'in baş bölümünde aşağıdaki kodu kullanırsınız:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript">
$(window).load(function(){
$("a").click(function(){
top.window.location.href=$(this).attr("href");
return true;
})
})
</script>
VEYA
tarayıcı penceresine belirli bir bağlantı açmak istiyorsanız (tarayıcı url'sine yönlendir), aşağıdaki yolu kullanırsınız:
<a href="http://specific.org" target="_top" >specific Link</a>
veya
<a href="javascript:top.window.location.href='your_link'">specific Link</a>
<a href="javascript:top.window.location.href='http://specific.org'">specific Link</a>
<a href="http://normal.org">Normal Link</a>
Aşağıdakileri base
yapmanızı sağlayan bir HTML öğesi var :
Bir sayfadaki tüm bağlantılar için varsayılan bir URL ve varsayılan bir hedef belirtin:
<base target="_blank" />
Belirterek _blank
, iframe içindeki tüm bağlantıların dışarıda açılacağından emin olun .
Belirtildiği gibi, bir hedef öznitelik kullanabilirsiniz, ancak teknik olarak XHTML'de kullanımdan kaldırılmıştır. Bu, genellikle javascript kullanmanıza izin verir parent.window.location
.
Web sayfanızda iframe kullanıyorsanız, iframe'den bir HTML köprüsü (bağlantı etiketi) aracılığıyla tüm sayfayı değiştirirken bir sorunla karşılaşabilirsiniz. Bu sorunu hafifletmek için iki çözüm vardır.
Çözüm 1. Aşağıdaki örnekte verildiği gibi bağlantı etiketinin hedef niteliğini kullanabilirsiniz.
<a target="_parent" href="http://www.kriblog.com">link</a>
Çözüm 2. JavaScript ile iframe'den üst pencerede yeni bir sayfa da açabilirsiniz.
<a href="#" onclick="window.parent.location.href='http://www.kriblog.com';">
Unutmayın X target="_parent"
XHTML'de kullanımdan kaldırılmıştır, ancak yine de HTML 5.x'te desteklenmektedir.
Daha fazla bilgiyi aşağıdaki bağlantıdan okuyabilirsiniz http://www.kriblog.com/html/link-of-iframe-open-in-the-parent-window.html
En çok yönlü ve en çapraz tarayıcı çözümü, "temel" etiketinin kullanılmasını önlemek ve bunun yerine "a" etiketlerinin hedef özelliğini kullanmaktır:
<a target="_parent" href="http://www.stackoverflow.com">Stack Overflow</a>
<base>
Etiketi az çok yönlüdür ve tarayıcılar daha tarayıcılar arası testi gerektiren belgesinde tek yerleşim için kendi gereksinimleri tutarsız. Projenize ve durumunuza bağlı olarak, <base>
etiketin ideal tarayıcılar arası yerleşimini sağlamak zor, hatta tamamen olanaksız olabilir .
Bu Yapma target="_parent"
oznıtelığı <a>
etiketi sadece daha tarayıcı dostu değil, aynı zamanda size iframe'de açmak isteyen bağlantıları ayırt etmek izin verir ve bu size ebeveynde açmak istiyorum.
Yah buldum
<base target="_parent" />
Bu, iframe'de açılan tüm iframe bağlantılarını açmak için kullanışlıdır.
Ve
$(window).load(function(){
$("a").click(function(){
top.window.location.href=$(this).attr("href");
return true;
})
})
Bu, tüm sayfa veya sayfanın belirli bir kısmı için kullanabiliriz.
Yardımlarınız için hepinize teşekkürler.
Deneyin target="_top"
<a href="http://example.com" target="_top">
This link will open in same but parent window of iframe.
</a>
"_top"
aynı değil "_parent"
mi?
<script type="text/javascript"> // if site open in iframe then redirect to main site
$(function(){
if(window.top.location != window.self.location)
{
top.window.location.href = window.self.location;
}
});
</script>