Pracuję nad projektem HTML i nie mogę dowiedzieć się, jak otworzyć link w nowej karcie bez javascript.
Wiem już, że <a href="http://www.WEBSITE_NAME.com"></a>
otwiera link w tej samej zakładce. Jakieś pomysły, jak otworzyć go w nowym?
html
hyperlink
anchor
browser-tab
ZenthyxProgramming
źródło
źródło
<a href="url" target="_blank">...</a>
Odpowiedzi:
Ustaw atrybut „target” linku na
_blank
:Edycja: inne przykłady można znaleźć tutaj: http://www.w3schools.com/tags/att_a_target.asp
(Uwaga: poprzednio zasugerowałem
blank
zamiast,_blank
ponieważ jeśli zostanie użyty, otworzy nową kartę, a następnie użyje tej samej karty, jeśli link zostanie kliknięty ponownie. Jednak dzieje się tak tylko dlatego, jak wskazał GolezTrol, że odnosi się do nazwy a ramki / okna, który zostałby ustawiony i użyty po ponownym naciśnięciu łącza w celu otwarcia go na tej samej karcie).Zagadnienie bezpieczeństwa!
Ma
rel="noopener noreferrer"
to na celu uniemożliwienie nowo otwartej karcie złośliwego modyfikowania oryginalnej karty. Aby uzyskać więcej informacji o tej podatności, zobacz następujące zasoby:źródło
blank
będzie nazwą ramy lub okna. Może się wydawać, że działa, ponieważ nowe okno lub karta prawdopodobnie zostanie otwarte, gdy nie istnieje żadne z nazwą „puste”, ale drugie kliknięcie linku powinno ponownie otworzyć stronę w tej samej karcie zamiast otwierać kolejną.blank
ciebie równie dobrze można by użyćfoo
, choć w_blank
rzeczywistości ma on specjalne znaczenie. Nie mogę znaleźć żadnych informacji, które mogłyby udowodnić inaczej. Czy możesz?_blank
będzie dobrze; linki otworzą się na innej karcie. Jeśli określisz nazwę bez podkreślenia (np.blank
), Linki otworzą się na tej samej karcie.Użyj jednego z nich zgodnie ze swoimi wymaganiami.
Otwórz połączony dokument w nowym oknie lub karcie:
Otwórz połączony dokument w tej samej ramce, w której został kliknięty (jest to ustawienie domyślne):
Otwórz połączony dokument w ramce nadrzędnej:
Otwórz połączony dokument w pełnej części okna:
Otwórz połączony dokument w nazwanej ramce:
Zobacz MDN
źródło
target="_blank"
istnieje luka, o której możesz przeczytać w mathiasbynens.github.io/rel-noopenerJeśli chcesz wykonać polecenie dla całej witryny, zamiast wykonywać je po każdym linku. Wypróbuj to miejsce w nagłówku witryny i bingo.
mam nadzieję że to pomoże
źródło
Użyj
target="_blank"
:źródło
Kiedy stosować
target='_blank'
:Wersja HTML (niektóre urządzenia jej nie obsługują):
Wersja JavaScript dla wszystkich urządzeń:
Zastosowanie rel = „external” jest całkowicie poprawne
i dla Jquery można spróbować z poniższym:
Jeśli ustawienia przeglądarki nie pozwalają na otwieranie w nowych oknach:
źródło
target="_blank"
atrybut wykona zadanie. Tylko nie zapomnij dodać,rel="noopener noreferrer"
aby rozwiązać potencjalną lukę. Więcej na ten temat tutaj: https://dev.to/ben/the-targetblank-vulnerability-by-exampleźródło
Możesz użyć:
Jednak powyższe czynią twoją witrynę podatną na ataki phishingowe. Możesz temu zapobiec w niektórych przeglądarkach, dodając rel = "noopener noreferrer" do swojego linku. Po dodaniu powyższy przykład staje się:
sprawdź więcej informacji: https://www.thesitewizard.com/html-tutorial/open-links-in-new-window-or-tab.shtml
źródło
Możesz to zrobić w następujący sposób:
Zobacz także następujący adres URL w MDN, aby uzyskać więcej informacji na temat bezpieczeństwa i prywatności:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#Security_and_privacy
który z kolei zawiera link do dobrego artykułu o nazwie Target = "_ blank" - najbardziej niedoceniana luka w historii :
https://www.jitbit.com/alexblog/256-targetblank---the-most-underestimated-vulnerability-ever/
źródło