Je možné použít target="_blank". Otázka od čtenáře

24.08.2023

Ve výchozím nastavení se po klepnutí na odkaz dokument otevře na aktuální kartě prohlížeče. Toto chování lze změnit pomocí atributu target prvku . Hodnota je název rámce určený atributem name prvku nebo vyhrazený klíčové slovo. Když zadáte název rámce, odkaz se otevře v rámci.

Tento atribut není v XHTML povolen.

Syntax

...

Hodnoty

Hodnota je název rámce určený atributem name. Pokud je nastaveno neexistující jméno, otevře se nová karta prohlížeče. Následující názvy se používají jako vyhrazené názvy.

Prázdné Načte stránku do nová karta prohlížeč. _self Načte stránku na aktuální kartu. _parent Načte stránku do nadřazeného rámce; pokud nejsou žádné snímky, pak tato hodnota funguje jako _self . _top Zahodí všechny rámce a načte stránku v úplném okně prohlížeče; pokud nejsou žádné snímky, pak tato hodnota funguje jako _self .

Výchozí hodnotaPříklad

Aha, cílový atribut

Otevřít na nové kartě

Prohlížeče

V tabulce prohlížeče jsou použity následující zápisy.

  • - prvek je plně podporován prohlížečem;
  • - prvek není prohlížečem vnímán a je ignorován;
  • - při provozu se mohou objevit různé chyby, případně je prvek podporován s výhradami.

Číslo označuje verzi prohlížeče, ze které je prvek podporován.

Ve výchozím nastavení se po klepnutí na odkaz dokument otevře v aktuálním okně nebo rámci. V případě potřeby lze tuto podmínku změnit atributem target tagu . Tento atribut není v XHTML povolen.

Syntax ... Hodnoty povinného atributu

Hodnota je název okna nebo rámu určený atributem name. Pokud je nastaveno neexistující jméno, otevře se nové okno. Následující názvy se používají jako vyhrazené názvy.

Prázdné Načte stránku do nového okna prohlížeče. _self Načte stránku do aktuálního okna. _parent Načte stránku do nadřazeného rámce, pokud nejsou žádné rámce, tato hodnota funguje jako _self . _top Zahodí všechny rámce a načte stránku v plném okně prohlížeče, pokud žádné rámce nejsou, tato hodnota funguje jako _self .

Výchozí ověření

Použití tohoto atributu je zastaralé specifikací HTML. Platný kód lze získat pouze při použití přechodného .

HTML5 IE Cr Op Sa Fx

Značka A, cílový atribut

Otevři v novém okně

Mnoho webů používá praxi otevírání externích odkazů v novém okně. Často se tímto způsobem otevírají například odkazy na stránky vývojářů nebo výsledky vyhledávání. vyhledávač. Obvykle se to provádí pomocí atributu tag< >:

Obecně řečeno, říkat uživateli, jak otevřít odkaz, není hezké. Guruové použitelnosti webových stránek jednomyslně tvrdí, že uživatel sám se může rozhodnout, jak odkaz otevřít. Vytřídí svá okna bez našeho přání v této věci. Kromě toho také přerušíme funkčnost standardního tlačítka prohlížeče „Zpět“. Takový hrubý zásah do zvyků pravděpodobně způsobí nepřátelství!

Navíc vzniká špatný dojem: „Uživatel opouští web! Možná se sem nikdy nevrátí! Ah ah ah! Co dělat? Otevřeme nový odkaz v jiném okně! Možná, že až uvidí vše potřebné, tak zavřením tohoto okna k nám zase zavítá a pak se určitě stane pravidelným návštěvníkem!“

Smysl je, doufám, jasný – naplňte web kvalitním, užitečným a zajímavým obsahem a návštěvníci se pak budou vědomě a nezávisle vracet.

Kromě morální stránky je tu však i stránka technická – cílový atribut není ve specifikaci XHTML 1.0 Strict, a proto neprojde validací!

Platné řešení: JavaScript

Pokud jste se i přes předchozí odstavce přesto rozhodli (nebo byli nuceni) otevřít stránku v novém okně, udělejme to alespoň správně.

Zde přichází na pomoc JavaScript. Zkusme zachytit událost onclick odkazu a vynutit otevření nového okna pomocí funkce window.open(). Poté zakážeme sledování odkazu v nativním okně zadáním return false:

Odkaz se otevře v novém okně

Výsledné řešení zkontrolujeme: .

Všechno je skvělé. Prohlížeče s jistotou otevřou odkaz v novém okně. Validátor nás potěší zelenou zprávou o úspěchu. Zdálo by se, že se můžete uklidnit, ale není tomu tak! Zkusme ve vašem prohlížeči nastavit blokování vyskakovacích oken a znovu kliknout na odkaz!

Lepší řešení

Blokátory vyskakovacích oken jsou primárně určeny k boji proti otravným reklamám. Tato funkce je dostupná ve všech moderních prohlížečích. Některé prohlížeče dokonce nabízejí různé úrovně blokování. Například v Opeře 9+ můžete blokovat buď jen „nechtěná“ okna, nebo vše.

Nevím, jaké procento uživatelů tak radikálně bojuje s vyskakovacími okny, ale pouze s tímto nastavením se místo otevření okna jednoduše objeví malá výzva „vyskakovací okno je blokováno“. Navíc i tento projev reakce prohlížeče na kliknutí lze v nastavení zakázat. V tomto případě odkaz jednoduše ztratí funkčnost: „Klikám, ale nic se neděje!“

Kdyby někdo po přečtení tohoto řekl: „Nemůžete se zalíbit všem! No, kdo je jejich doktor, že je pro ně všechno vypnuté “, tak s takovými lidmi nejsme na stejné cestě! Ve zbytku budeme pokračovat.

Odkaz se otevře v novém okně

Zde jsme využili toho, že funkce window.open() vrací true, pokud bylo okno úspěšně otevřeno, a false v opačném případě. To znamená, že v případě, že se odkaz úspěšně otevřel v novém okně, zablokujeme otevření odkazu v jeho vlastním okně, protože návrat bude!pravda=nepravda. A naopak, pokud se okno nepodařilo otevřít, návrat true umožní odkazu normálně fungovat.

Popis

Můžete definovat okno, do kterého se načte webová stránka otevřená z odkazu. Chcete-li to provést, použijte atribut target, jehož hodnota je název okna nebo rámu. Pokud cíl není nastaven, vrácený výsledek se zobrazí v aktuálním okně.

Hodnoty syntaxe

Hodnota je název okna nebo rámu. Pokud je nastaveno neexistující jméno, otevře se nové okno. Následující názvy se používají jako vyhrazené názvy.

Prázdné Načte stránku do nového okna prohlížeče. _self Načte stránku do aktuálního okna. _parent Načte stránku do nadřazeného rámce, pokud nejsou žádné rámce, tato hodnota funguje jako _self . _top Zahodí všechny rámce a načte stránku v plném okně prohlížeče, pokud žádné rámce nejsou, tato hodnota funguje jako _self .

Pokud je pro značku nastavena target="_blank ", můžete odkaz otevřít v aktuálním okně přidáním značky atribut target="_self" .

Výchozí ověření

Použití tohoto atributu je zastaralé specifikací HTML. Platný kód lze získat pouze při použití přechodného .

Příklad 1: Otevření odkazu v novém okně

základní značka, cílový atribut

Příklad 2

základní značka, cílový atribut

Prohlížeče: Desktop Mobile ?
internet ExplorerChromeOperaSafariFirefox
2 1 2 1 1
AndroidFirefox pro mobilyOpera MobileSafari pro mobily
1 1 6 1

Prohlížeče

V tabulce prohlížeče jsou použity následující zápisy.

  • - prvek je plně podporován prohlížečem;
  • - prvek není prohlížečem vnímán a je ignorován;
  • - při provozu se mohou objevit různé chyby, případně je prvek podporován s výhradami.

Číslo označuje verzi prohlížeče, ze které je prvek podporován.

Dobrý den, milí čtenáři. Vydání Odpovědí na otázky dlouho nevyšlo, myslím, že mnozí již čekali na odpovědi na své otázky. Někteří z vás již našli odpověď na svou otázku bez mé pomoci, omlouvám se, že jsem vám odpověď nedal. polepším se. Bohužel dnes také neodpovím na všechny otázky, ale pouze na jednu.

Tato otázka mi přišla docela zajímavá a užitečná, a tak jsem se rozhodl jí věnovat zvláštní pozornost. Takže tady je otázka.

Je možné pomocí tagu target="_blank" vynutit otevření odkazu v novém okně prohlížeče? Není to škodlivé? Má to na něco vliv?

Velmi zajímavá otázka, faktem je, že atribut tag , který otevře odkaz v novém okně nebo na kartě prohlížeče, target="_blank", jeden z nejvíce nejednoznačných v HTML. I když jej sám používám a používám pro své čtenáře více než jednou, přesto stojí za to pochopit tuto problematiku a pokusit se dospět k nějakému názoru.

Zde stojí za to zvážit situaci ze dvou stran: použití cíle z hlediska ověření a otevření odkazu v novém okně nebo kartě prohlížeče z hlediska použitelnosti. Začnu tím prvním.

Atribut target="_blank" je neplatný atribut a jeho použití je povoleno pouze v přechodných dokumentech:

Pro srovnání, v Bloggeru je to takto:

obsahuje informace o typu dokumentu, povinný prvek webové stránky, který prohlížeči říká, jak má stránku interpretovat. Nebudu zabíhat do historie tvorby HTML, XML, XHTML - to vše je materiál na více než jeden článek. Ale pokusím se sdělit podstatu.

Pokud mluvíme o Bloggeru, pak je naše šablona směsí dvou jazyků - HTML a XML, v takových případech je nutné specifikovat - XHTML 1.0 Strict. Dokumenty tohoto typu musí mít jasnou syntaxi a specifikace pro dokumenty tohoto typu nemá atribut target="_blank". Proto je pro nás tento atribut neplatný a v podstatě je zakázáno jej používat.

Pokud se bavíme o jiných stránkách, je možné tam použít atribut target="_blank", pak je potřeba se podívat na zdrojový kód stránky, konkrétně na položku .

Typ dokumentu nastavuje vývojář konkrétního webu v závislosti na tom, jaký jazyk nebo jeho verze se používá při rozvržení webu.

Co v takové situaci dělat?
Znám jen dvě řešení této situace. A obě možnosti zdaleka nejsou ideální.

První možností je, že aby byl dokument platný, můžete použít speciální skripty JavaScript nebo JQuery, které otevřou stránky v novém záhybu prohlížeče.

Nevýhoda této metody: pokud je v nastavení prohlížeče zakázán JavaScript, stránka se neotevře v novém okně.

Druhou možností je použít target="_blank" a tímto problémem již netrpět. I když je tento atribut neplatný, je stále podporován všemi prohlížeči. A jeho použití nijak neovlivňuje indexování webu vyhledávači.

První část otázky jsme probrali, ale jak jsem již řekl, problém má i druhou stránku – použitelnost, pohodlí pro návštěvníka. Je pro naše čtenáře pohodlné otevírat odkazy na nové kartě?

Určitá část (nemohu říci kolik) vývojářů považuje za špatnou formu připravit uživatele o možnost rozhodnout se sám, jak otevřít stránku, na stejné kartě nebo na nové. A také více A Patřím k pokročilým (zkušeným) uživatelům, kteří věří, že oni sami se mohou rozhodnout, jak odkaz otevřít, protože je to zajištěno alespoň stejnou myší. Na druhou stranu je na internetu spousta uživatelů s podprůměrnou úrovní a mnozí nevědí, že pomocí stejné myši lze otevřít libovolný odkaz v novém okně.

Pokud ještě nevíte, jak na to, řeknu vám to. Každá myš musí mít kolečko, takže pokud najedete myší na odkaz a kliknete na kolečko, odkaz se otevře v novém okně. Nebo jsou myši se třemi tlačítky a tuto funkci vykonává prostřední tlačítko. Ale jak jsem řekl, ne všichni uživatelé internetu o takové příjemné maličkosti vědí.

Z pohledu mnoha uživatelů je také vhodné, aby se interní odkaz otevíral ve stejném okně prohlížeče (záložce) a externí odkazy se otevíraly v nové záložce, pro mnohé je to jednoduché a logické.

Právě kvůli takto protichůdným názorům a kvůli rozdílné úrovni znalostí uživatelů je atribut target="_blank" a obecně problematika otevírání odkazů v novém okně tím nejdiskutovanějším tématem.

Jaký je můj názor na tuto věc? Sám jsem byl začátečník, znám spoustu lidí, kteří o internetu vědí jen Yandex a Odnoklassniki, a prostě nemají ponětí, co je to monitor, proč je na klávesnici tolik tlačítek a proč kolečko myši je vůbec potřeba ( Takové mezery se samozřejmě rychle zaplní). Sám si myslím, že otevírání nového webu na stejné záložce, kde jsem nyní, je krajně nepohodlné. I když opravdu plánuji stránky opustit, nebudu si dělat velké starosti, když předchozí kartu zavřu. Chci, aby se odkaz uvnitř webu otevřel na stejné kartě a externí odkaz na nové. Toto je můj osobní názor a netvrdím, že je pravdivý.

Pokud jste o této problematice vážně přemýšleli a rozhodli jste se použít speciální skript, pokusil jsem se pro vás najít řešení. Tento skript je vhodný pro všechny webové stránky, CMS a pro platformu Blogger. Jako příklad vám ukážu použití Bloggeru.

Přejděte do části Návrh – Upravit HTML, najděte kód a vložte jej před něj:


Pokud chcete své uživatele upozornit, že se odkaz otevře na nové kartě, můžete na odkaz použít styl, jako jsem to udělal já. Chcete-li to provést, přidejte do šablony před řádek ]]> následující styl:

Externí (
padding: 0 10px 2px 0;
pozadí: url(http://lh6.googleusercontent.com/_G92voTj-yF0/TcFG68RdfLI/AAAAAAAAABfA/QJM25G6lInk/externallink.gif) neopakovat pravý střed;
}

Odeslal jsem své hodnoty pole výplně. V závislosti na používaném písmu a nastavení zobrazení textu budete muset tato čísla upravit tak, aby vám vyhovovala. Můžete také nahrát obrázek do alba nebo použít úplně jiný.

Chci říct, že jsem testoval tři různé skripty a ten navržený výše nefunguje všude. Pokud vám výše navržený skript nefunguje, můžete vyzkoušet následující možnosti:

http://sites.google.com/site/seobiblioteka/extlinks.js
http://sites.google.com/site/seobiblioteka/external.js

Poslední dva skripty ale nepodporují automatické načítání stylů, takže pokud chcete pro externí odkaz použít styl odlišný od interního, pak nezapomeňte odkazu přiřadit class="external".

To je vše o použití target="_blank" a otevření odkazu na nové kartě. Doufám, že jsem odpověděl na otázku čtenáře a tyto informace budou užitečné i pro všechny ostatní.

Vážení blogeři, pokud váš dotaz souvisí s Bloggerem, vřele doporučuji položit jej na fóru. Odpovědi jsou na blogu zveřejňovány ne tak často a ne zcela pravidelně a na odpověď na docela základní otázku si musíte počkat několik týdnů. Položením otázky na fóru obdržíte odpověď ode mě nebo jiných uživatelů během několika hodin.
Přeji vám hezký víkend.