Muszę otworzyć link na tej samej stronie nadrzędnej, zamiast otwierać go na nowej stronie.
Uwaga: Strona iframe
nadrzędna i ta sama domena .
html
iframe
hyperlink
html-target
Haim Evgi
źródło
źródło
Odpowiedzi:
Odkryłem, że najlepszym rozwiązaniem było użycie tagu podstawowego . Dodaj następujący tekst do nagłówka strony w ramce iframe:
Spowoduje to załadowanie wszystkich linków na stronie w oknie nadrzędnym. Jeśli chcesz, aby Twoje linki ładowały się w nowym oknie, użyj:
Ten tag jest w pełni obsługiwany we wszystkich przeglądarkach.
źródło
<base target>
powinien pojawić się wcześniej<a href>
, ponieważ ustawia domyślny kontekst przeglądania dla następujących linków;<base href>
powinien<* href>
<* src>
<form action>
<object data>
znajdować się przed dowolnym odwołaniem do adresu URL ( …), ponieważ ustawia podstawowy adres URL, względem którego są rozwiązywane względne adresy URL.<base
tag nie ma zamknięcia zgodnie ze specyfikacją w3.org/TR/html5/document-metadata#the-base-element, więc powinien być<base target="_parent" >
Użyj atrybutu target:
źródło
<base target="_blank">
jest w porządku, ale pytanie tutaj dotyczy jednego linku, a nie zmiany zachowania wszystkich linków w ramce iframe. Dla mnie to poprawna odpowiedź.Z JavaScript:
źródło
Możesz użyć dowolnych opcji
w przypadku tylko strony nadrzędnej:
jeśli chcesz otworzyć wszystkie łącza do strony nadrzędnej lub nadrzędnego elementu iframe, użyj następującego kodu w sekcji head elementu iframe:
<base target="_parent" />
LUB
jeśli chcesz otworzyć określony link do strony nadrzędnej lub nadrzędnej ramki pływającej, użyj następującego sposobu:
LUB
w przypadku zagnieżdżonego elementu iframe:
Jeśli chcesz otworzyć wszystkie łącza do okna przeglądarki (przekierowanie w adresie URL przeglądarki), użyj następującego kodu w sekcji nagłówka iframe:
LUB
jeśli chcesz otworzyć określony link do okna przeglądarki (przekierowanie w adresie URL przeglądarki), skorzystaj z następującego sposobu:
lub
źródło
Istnieje element HTML o nazwie,
base
który pozwala:Określając
_blank
, upewnij się, że wszystkie linki w ramce iframe zostaną otwarte na zewnątrz.źródło
Jak wspomniano, możesz użyć atrybutu target, ale technicznie był on przestarzały w XHTML. To pozostawia cię przy użyciu javascript, zwykle coś takiego
parent.window.location
.źródło
target
Atrybut nie jest już przestarzała .Wypróbuj
target="_parent"
atrybut wewnątrzanchor tag
.źródło
Jeśli używasz elementu iframe na swojej stronie internetowej, możesz napotkać problem podczas zmiany całej strony za pomocą hiperłącza HTML (tag kotwicy) z elementu iframe. Istnieją dwa rozwiązania w celu złagodzenia tego problemu.
Rozwiązanie 1. Możesz użyć atrybutu target tagu zakotwiczenia, jak podano w poniższym przykładzie.
Rozwiązanie 2. Możesz także otworzyć nową stronę w oknie nadrzędnym z iframe z JavaScript.
Pamiętaj, że ⇒
target="_parent"
jest przestarzałe w XHTML, ale nadal jest obsługiwane w HTML 5.x.Więcej można przeczytać pod następującym linkiem http://www.kriblog.com/html/link-of-iframe-open-in-the-parent-window.html
źródło
Najbardziej wszechstronnym i najbardziej uniwersalnym rozwiązaniem dla różnych przeglądarek jest uniknięcie użycia znacznika „base”, a zamiast tego użycie atrybutu target znaczników „a”:
<base>
Tag jest mniej wszechstronny i przeglądarek są niespójne w ich wymaganiach dotyczących jego umieszczenia w dokumencie, wymagając więcej badań w różnych przeglądarkach. W zależności od projektu i sytuacji osiągnięcie idealnego położenia w różnych przeglądarkach może być trudne lub nawet całkowicie niewykonalne<base>
znacznika w .Wykonanie tego z
target="_parent"
atrybutem<a>
tagu jest nie tylko bardziej przyjazne dla przeglądarki, ale pozwala również rozróżnić łącza, które chcesz otworzyć w ramce iframe, i te, które chcesz otworzyć w elemencie nadrzędnym.źródło
<a target="parent">
otworzy linki w nowej karcie / oknie ...<a target="_parent">
otworzy linki w oknie nadrzędnym / bieżącym, bez otwierania nowych kart / okien. Don't_forget_that_underscore!źródło
Tak, znalazłem
Jest to przydatne do otwierania wszystkich łączy iframe otwartych w iframe.
I
Możemy to wykorzystać dla całej strony lub określonej części strony.
Dziękuję wszystkim za pomoc.
źródło
Próbować
target="_top"
źródło
"_top"
to samo co"_parent"
?źródło