Jawaban:
Saya menemukan solusi terbaik adalah dengan menggunakan tag dasar . Tambahkan yang berikut ini ke kepala halaman di iframe:
<base target="_parent">
Ini akan memuat semua tautan pada halaman di jendela induk. Jika Anda ingin tautan Anda dimuat di jendela baru, gunakan:
<base target="_blank">
Tag ini didukung penuh di semua browser.
<base target>
harus datang sebelum <a href>
, karena itu menetapkan konteks penelusuran default untuk tautan berikut; <base href>
harus muncul sebelum referensi URL apa pun ( <* href>
<* src>
<form action>
<object data>
...) karena ia menetapkan URL dasar yang dibandingkan dengan URL relatif yang diselesaikan.
<base
tag tidak memiliki penutup sesuai dengan spesifikasi w3.org/TR/html5/document-metadata#the-base-element jadi seharusnya<base target="_parent" >
Gunakan atribut-target:
<a target="_parent" href="http://url.org">link</a>
<base target="_blank">
ok, tapi pertanyaannya di sini adalah tentang satu tautan, bukan tentang mengubah perilaku semua tautan di iframe. Bagi saya ini adalah jawaban yang benar.
Anda dapat menggunakan opsi apa saja
dalam hal hanya halaman induk:
jika Anda ingin membuka semua tautan ke halaman induk atau iframe induk, maka Anda menggunakan kode berikut di bagian kepala iframe:
<base target="_parent" />
ATAU
jika Anda ingin membuka tautan tertentu ke halaman induk atau iframe induk, maka Anda menggunakan cara berikut:
<a target="_parent" href="http://specific.org">specific Link</a>
<a href="http://normal.org">Normal Link</a>
ATAU
dalam kasus iframe bersarang:
Jika ingin membuka semua tautan ke jendela browser (redirect di url browser), maka Anda menggunakan kode berikut di bagian kepala iframe:
<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>
ATAU
jika Anda ingin membuka tautan tertentu ke jendela browser (redirect di url browser), maka Anda menggunakan cara berikut:
<a href="http://specific.org" target="_top" >specific Link</a>
atau
<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>
Ada elemen HTML yang disebut base
yang memungkinkan Anda untuk:
Tentukan URL default dan target default untuk semua tautan di halaman:
<base target="_blank" />
Dengan menentukan _blank
Anda memastikan semua tautan di dalam iframe akan dibuka di luar.
Seperti yang disebutkan, Anda bisa menggunakan atribut target, tetapi secara teknis tidak digunakan lagi dalam XHTML. Itu membuat Anda menggunakan javascript, biasanya sesuatu seperti parent.window.location
.
Jika Anda menggunakan iframe di halaman web Anda, Anda mungkin mengalami masalah saat mengubah seluruh halaman melalui hyperlink HTML (anchor tag) dari iframe. Ada dua solusi untuk mengatasi masalah ini.
Solusi 1. Anda dapat menggunakan atribut target dari tag anchor seperti yang diberikan dalam contoh berikut.
<a target="_parent" href="http://www.kriblog.com">link</a>
Solusi 2. Anda juga dapat membuka halaman baru di jendela induk dari iframe dengan JavaScript.
<a href="#" onclick="window.parent.location.href='http://www.kriblog.com';">
Ingat ⇒ target="_parent"
telah usang dalam XHTML, tetapi masih didukung dalam HTML 5.x.
Lebih banyak dapat dibaca dari tautan berikut http://www.kriblog.com/html/link-of-iframe-open-in-the-parent-window.html
Solusi yang paling serbaguna dan paling lintas-browser adalah untuk menghindari penggunaan tag "base", dan alih-alih menggunakan atribut target dari tag "a":
<a target="_parent" href="http://www.stackoverflow.com">Stack Overflow</a>
Itu <base>
tag kurang fleksibel dan browser tidak konsisten dalam persyaratan mereka untuk penempatannya dalam dokumen, membutuhkan lebih cross-browser pengujian. Tergantung pada proyek dan situasi Anda, mungkin sulit atau bahkan sama sekali tidak layak untuk mencapai penempatan <base>
tag lintas-browser yang ideal .
Melakukan ini dengan target="_parent"
atribut <a>
tag tidak hanya lebih ramah browser, tetapi juga memungkinkan Anda untuk membedakan antara tautan yang ingin Anda buka di iframe, dan yang ingin Anda buka di induknya.
Yah aku temukan
<base target="_parent" />
Ini berguna untuk membuka semua tautan iframe yang terbuka di iframe.
Dan
$(window).load(function(){
$("a").click(function(){
top.window.location.href=$(this).attr("href");
return true;
})
})
Ini dapat kita gunakan untuk seluruh halaman atau bagian tertentu dari halaman.
Terima kasih atas bantuan Anda.
Mencoba target="_top"
<a href="http://example.com" target="_top">
This link will open in same but parent window of iframe.
</a>
"_top"
sama dengan "_parent"
?
<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>