Otevřít v novém okně zavřít. Jak otevřít odkaz v novém okně

Článek uvádí základní principy používání atributu target="_blank" a také navrhuje alternativu k použití tohoto atributu, ve které kód zůstane platný.

Dost často je taková praxe, kdy když kliknete na odkaz, přejdete na vstupní stránka provedené na nové kartě prohlížeče. Tato technika se velmi často používá při specifikaci vývojáře webového zdroje nebo odpovědi na požadavek v vyhledávač. Této techniky je dosaženo použitím cílového atributu značky. Níže je uveden příklad kódu:

HTML

< a href= "#" target= "_blank" >

V současném chápání moderního kompetentního rozvržení a interakce uživatele s funkčností zdroje je obecně přijímáno, že návštěvník si musí sám přesně určit, jak bude odkaz následovat. Stejný názor podporují zkušení a slavní weboví vývojáři. Také použijte tohoto atributu narušuje funkčnost tlačítka prohlížeče „Zpět“ – i to se počítá negativní efekt atribut. Uvedené faktory mohou vyvolat rozhořčení návštěvníka stránek.

Někteří vysvětlují použití atributu target tak, že při jeho použití, i když uživatel našel to, co hledal na jiném zdroji (na který byl odeslán odkaz), se po zavření nově otevřené záložky vrátí na předchozí web. To údajně zvyšuje pravděpodobnost přeměny náhodného návštěvníka na běžný uživatel. Toto tvrzení je chybné! Neustálou pozornost uživatele můžete získat pouze zajímavými a kvalitní obsah. Nadarmo jsou informace považovány za jeden z nejcennějších zdrojů.

Navíc podle specifikace XHTML 1.0 Strict je použití atributu target nezákonné. V opačném případě nebude kód považován za platný. A samotný validátor zobrazí následující zprávu:

Otevření odkazu na nové kartě pomocí JavaScriptu

Jak již bylo zmíněno dříve, použití atributu target k následování odkazu v novém okně prohlížeče není v rámci specifikací a není považováno za platné řešení problému. Není to však jediný způsob, jak problém vyřešit. Podobný efekt lze získat pomocí kódu js.

Princip organizace takového procesu je založen na události onclick. V hodnotě této události bude zapsána funkce pro otevření nové karty prohlížeče - window.open() a také blokátor, který zruší přechod na požadovaná adresa v aktuálním okně - return false . V kódu budou všechny tyto akce vypadat takto:

< a href= "#" onclick= "window.open(this.href); return false" >Odkaz, který se otevře na nové kartě

Pro ověření účinnosti navrhované metody můžete kliknout na tento odkaz, otevře se v novém okně.

Poté, co se přesvědčíme o účinnosti metody, zkontrolujeme platnost kódu. Validátor vydá zelenou zprávu, která znamená, že náš kód je bezchybný.

Na první pohled jsme dosáhli racionálního řešení problému, ale při podrobném testování metody se ukázalo, že pokud má prohlížeč blokování vyskakovacích oken, metoda přestane fungovat. Místo kliknutí na odkaz se zobrazí vyskakovací zpráva o blokování.

Úprava js kódu pro úspěšný přechod za jakýchkoli podmínek

Výše zmíněná funkce má za úkol zbavit uživatele přebytečné reklamy na internetu. Všechno moderní prohlížeče mají takovou schopnost ve svém arzenálu, navíc některé z nich umí blokovat dál různé úrovně. Například všechno Verze opery, počínaje 9. mají možnost blokovat pouze označená okna nebo všechna.

Přestože je pravděpodobně velmi málo uživatelů, kteří si do svých prohlížečů instalují blokátory vyskakovacích oken, stále existují. A musíme vzít v úvahu všechno možné možnosti Pro normální fungování místo. Dovolte mi připomenout, že pokud dojde k zablokování, odkaz v našem kódu js přestane fungovat.

Jakou volbu byste tedy měli udělat: buď ne platný kód, nebo ne vždy fungující odkazy? Ani jedna varianta nám nevyhovuje. Alternativní řešení přišel při testování odkazu se zapnutým atributem target a blokováním vyskakovacích oken. Za daných podmínek se odkaz otevřel, ale pouze ve vlastním okně. To znamená, že musíme upravit náš kód js tak, aby po zablokování odkaz fungoval v aktuálním okně. To je implementováno následovně:

< a href= "#" onclick= "return !window.open(this.href)" >Odkaz, který se otevře na nové kartě

Princip fungování metody zůstal prakticky nezměněn, ale změnila se forma výkladu akcí. V novém kódu se funkce window.open() vyhodnotí jako true, pokud zámek není nainstalován, ale pokud je přítomen, funkce vyhodnotí hodnota nepravda. Když mluvíme rusky, pokud v prohlížeči nastavíte příslušná nastavení, odkaz se otevře v aktuální relaci, jinak - na nové kartě.

Zkouška upravené řešení pro odkaz na hlavní blog.

závěry

Na základě výše uvedených informací můžeme dojít k závěru, že nejracionálnějším způsobem, jak vynutit otevírání odkazů na nových kartách, je použití poslední metoda založené na kódu JavaScript.

Zároveň by se však takové věci měly používat opatrně, protože to ukládá uživateli určité akce a omezuje jeho svobodu rozhodování. To je považováno za špatné chování.


.

internet Explorer Mozilla Firefox Práce s kartami
v prohlížeči Google Chrome






s kartami.

Najít všechny úplné informace Můžete se dozvědět o práci s kartami v prohlížeči Google Chrome.

Problém s prohlížečem: všechny odkazy se otevírají na nové kartě

Chcete-li to provést, otevřete prohlížeč a jednoduše klikněte funkční klíč F1 na klávesnici. Nebo na konci klikněte na ikonu klíče, nebo možná na ikonu jako já, místo klíče adresní řádek prohlížeč. A vyberte Nápověda v dolní části karty, která se otevře. Otevře se nová karta s odkazem Karty a Windows uprostřed. Klikněte a vpravo se otevřou všechny nadpisy spojené s kartami.

Safari Opera

Když surfujete na internetu, moderní prohlížeče vám vždy umožňují otevřít stránku pomocí odkazu v novém okně nebo kartě. To je často velmi pohodlné – vidíte zajímavý odkaz, ale nedívejte se nahoru od textu, který čtete, ale otevřete odkaz v novém okně nebo záložce a vraťte se, až budete hotovi tento moment. Vždy jsem chtěl takovou příležitost existovat Průzkumník Windows- klikl klikněte pravým tlačítkem myši podle složky - a je zde možnost: „otevřít v novém okně“.

Je dost snadné přidat takovou možnost tím, že přejdete do vlastností Průzkumníka, ale nedělejte to na každém počítači, který navštívíte! Je mnohem lepší automatizovat proces pomocí reg soubor. To je druhý cíl tohoto článku – pokračovat v tématu registru a ukázat, jak se dá upravovat nejen ručně.

V tomto článku poskytnu kód pro soubor, který přidá možnost do kontextové nabídky; Kromě toho lze tento soubor stáhnout. Pokud máte zajímavé příklady soubory registru, pošlete mi je do komentářů!

Poznámka: Omlouvám se těm, kteří čekali článek o anonymitě. nemám čas. Vyprodávám ze skladu.

Takže registr.

Jak otevřít odkazy v novém okně nebo na kartě

Pokud jste již regedit spustili, můžete experimentovat s exportem celého registru nebo jeho části. Chcete-li to provést, musíte se postavit na větev registru, přejděte do nabídky exportu souboru a vyberte, kam chcete nahrát. Výsledkem bude soubor s příponou reg, dvojí poklepání který bude použit k obnovení registru - zpětné načítání. Takový soubor si ale můžete vytvořit sami, což nyní uděláme my. Vytvořit textový soubor a zapište si dovnitř následující obsah:

@="Otevřít v novém okně"

@="C:\\WINDOWS\\explorer.exe \"%1\""

Nyní je třeba soubor přejmenovat - změňte jeho příponu na reg. Jak to udělat? Přesně stejným způsobem, jakým přejmenováváte jiné soubory, pouze musíte nejprve zobrazit přípony souborů.

Dvakrát klikněte na takový soubor, souhlasíte s provedením změn v registru – a voila, kontextová nabídka změněno - po kliknutí pravým tlačítkem myši na složku se zobrazí možnost "otevřít v novém okně". Pokud nechcete soubor vytvářet, upravovat a přejmenovávat, můžete si jej stáhnout z mého webu.

Ale můj web takový soubor vytvoří domovská stránka v Internet Exploreru

Okna Editor registru Verze 5.00

"Úvodní stránka" = "https://it.sander.su/"

Ty máš dobré příklady soubory pro úpravu registru? Odeslat! Mimochodem, dovolte mi připomenout můj starý příspěvek o Windows skript hostitel - existují příklady komiksových programů v jazyce zabudovaném do systému Windows.

komentáře poháněné

Jak otevřít odkaz v novém okně? Jak změnit
nastavení karty
v prohlížečích

Prohlížeče jsou zpočátku nakonfigurovány jinak, aby otevíraly nové stránky. Safari je například nakonfigurováno tak, aby otevíralo nové stránky v novém okně. A Mozilla Firefox otevírá nové stránky na nových kartách na liště Tab, ale navíc máme možnost otevírat nová okna.
Nastavení můžete změnit sami.

internet Explorer

Změnit nastavení karty v internetový prohlížeč Průzkumník je k dispozici v části Možnosti Internetu. Klikněte na ikonu ozubeného kola v pravém horním rohu panelu prohlížeče. Vyberte Možnosti Internetu, poté vyberte kartu Obecné a dole v řádku Záložky klikněte na Možnosti. Uprostřed pod čarou Při otevírání nové karty otevřít: vyberte požadovaný způsob otevírání karet v černém trojúhelníku.

Mozilla Firefox

Chcete-li změnit nastavení karty v Prohlížeč Mozilla Firefox, klikněte na tlačítko Nástroje na panelu nástrojů. Dole klikněte na Nastavení. Úplně nahoře v novém okně klikněte na Záložky. A zde můžete buď zaškrtnout políčka, nebo je zrušit způsobem, jakým chcete otevírat nové karty.

Práce s kartami
PROTI Prohlížeč Google Chrome

V posledním verze Google Chrome jsem nenašel
možnost změnit nastavení pro karty.
Pravděpodobně tento velmi pohodlný a chytrý prohlížeč nepotřebuje měnit nastavení. Protože Google Chrome nabízí uživatelům mnoho možností s kartami.
Velmi snadné otevírání nová karta a nové
okna, a to i prostřednictvím klávesových zkratek.
Potřebujete otevřít stejnou webovou stránku na více kartách
Existuje možnost duplikovat kartu. Je tu možnost pracovat
v anonymním režimu ( skryté prohlížení). Požadovaný můžete přesunout
zapsat samostatné okno. A mnoho dalších pracovních příležitostí
s kartami.

Všechny úplné informace o práci s kartami naleznete v prohlížeči Google Chrome. Chcete-li to provést, otevřete prohlížeč a jednoduše stiskněte funkční klávesu F1 na klávesnici. Nebo klikněte na ikonu klíče, nebo možná na ikonu jako já, místo klíče na konci adresního řádku prohlížeče. A vyberte Nápověda v dolní části karty, která se otevře. Otevře se nová karta s odkazem Karty a Windows uprostřed. Klikněte a vpravo se otevřou všechny nadpisy spojené s kartami.

Safari

Chcete-li změnit nastavení pro karty v Prohlížeč Safari Klikněte na ikonu ozubeného kola na pravé straně panelu prohlížeče. V nové záložce vyberte Nastavení a v dalším okně vyberte Záložky. A zde v řádku Otevřít stránky v kartách, ne v oknech: vyberte možnost, kterou potřebujete.

Opera

V Prohlížeč Opera Chcete-li změnit nastavení karty, klepněte na panelu na tlačítko Nástroje. Vyberte v dolní části nové karty Obecné nastavení. A na této kartě klikněte na panel Upřesnit a poté na tlačítko Nastavení karty. Otevře se okno Další nastavení karty. Zaškrtněte políčko vedle způsobu, jakým chcete karty otevírat, a klepněte na tlačítko OK v dolní části.

Jít do Domovská stránka místo

Řešení problému

Ve výchozím nastavení se odkazy otevírají ve stejném okně, kde jsou umístěny. Aby se jakýkoli odkaz otevřel v novém okně na značku měli byste přidat cílový atribut s hodnotou _blank, jak je znázorněno v příkladu 1.

HTML5 IE Cr Op Sa Fx

Odkazy

Upozorňujeme, že používání atributu strict target v HTML4 a XHTML je zastaralé a kód s ním neprojde ověřením. V tomto případě pro vytvoření odkazu pro otevření v novém okně a zachování správnosti kódu nestačí pouze HTML a CSS, takže se budete muset obrátit na skripty. Nejprve je potřeba nějak zvýraznit odkazy, které se otevřou v novém okně, například atributem rel s hodnotou external . Tento atribut stručně popisuje odkaz nebo kam vede. Prohlížeče tento atribut nepřijímají, ale není vyžadován, protože budeme kontrolovat všechny odkazy prostřednictvím JavaScriptu (příklad 2). Stejný cíl se přidá k potřebným odkazům. Ale protože se to děje programově, validátor si triku nevšimne.

XHTML 1.0 CSS 2.1 IE Cr Op Sa Fx

Odkaz v novém okně /* */

Všichni chápeme, že někdy je pohodlnější otevřít odkazy v aktuálním okně a někdy v novém. Osobně se ve většině projektů držím jednoduchého pravidla – pokud je odkaz interní (v rámci webu), tak se standardně otevře v aktuálním okně a externí odkazy vedoucí někam na jiné weby standardně otevírají nová okna (záložky).

...

cílový atribut není zadáno nebo je zadáno ve tvaru target="_blank" , pak se dokument otevře v aktuálním okně prohlížeče, a pokud je odkazu přiřazen atribut ve tvaru target="_blank" , otevře se dokument v novém okně.

Pak ale vyvstává otázka – jak může uživatel tyto 2 typy odkazů rozlišit, aniž by na ně klikal nebo se díval do HTML kódu stránky?

Nejlogičtější věc je, pokud se design CSS obou typů odkazů liší, zde je možnost, ve které jsou odkazy s target="_blank" zvýrazněny tučně:

A ( font-weight:expression((this.getAttribute("target") && this.getAttribute("target")=="_blank") ? "bold" : "normal"); ) a ( font-weight:bold ;

Zde, jak se často stává, musíte vzít v úvahu Internet Explorer a další prohlížeče zvlášť, první označení stylu je pouze pro IE a druhé je pro ostatní prohlížeče.

Podobně můžete experimentovat s nějakou další vlastností CSS, jako je podtržení zdobení textu:

A ( text-decoration:expression((this.getAttribute("target") && this.getAttribute("target")=="_blank") ? "underline" : "none"); ) a (text-decoration:underline ;

V závislosti na hierarchii Vlastnosti CSS, V konkrétní prohlížeč něco nemusí fungovat. Navíc bych nepoužil podtržení, když jsou ve výchozím nastavení všechny odkazy již podtržené (nebo nejsou podtržené).

Alternativním způsobem pro různé prohlížeče je pokus o oddělení externí odkazy od zbytku podle jejich adresy. Předpokládejme, že externí odkazy jsou vždy specifikovány jako absolutní(začínající předponou http://) a interní se zapisují jako relativní. Nejčastěji to dělají na normálních stránkách. Funguje to také v IE, alespoň od verze 8.

A ( váha písma: tučné /* tučné pro absolutní odkazy */ )

Tady se ale odchýlíme původní problém a jednoduše vyžadujeme, aby adresa URL začínala http:// , tedy zvýrazníme tučně absolutní adresy URL, které nemusí být nutně externí, a ne všechny odkazy, které se otevírají v novém okně.

Kromě IE 6 a 7 můžete věci zjednodušit pomocí pseudoprvků před a po, které vám umožňují určit, co se má objevit před nebo za prvky, ke kterým jsou připojeny.

Prostřednictvím stylu můžeme například přidat malý obrázek za každý odkaz, který se otevře v novém okně.

Zdá se mi však, že je logičtější jednoduše změnit design pozadí odkaz, který se otevře v novém okně – koneckonců přidání jakéhokoli textu nebo obrázku před nebo za odkaz může narušit vzhled webu. Abychom netrpěli, dáme nažloutlé barva pozadí všechny odkazy se otevírají v novém okně.

A ( background-color: #FFFF99; ) a ( background-color: expression((this.getAttribute("target") && this.getAttribute("target")=="_blank") ? "#FFFF99" : "transparent ");)

Jeden z návštěvníků webu se zeptal, jak otevřít odkaz v novém HTML okně. V tomto článku na tuto otázku odpovím.

Co budete potřebovat

Návštěvník neuvedl, jaký editor používá, budeme tedy předpokládat, že funguje přímo v HTML. To však neznamená, že se těmito pokyny nemůžete řídit, pokud nějaké používáte vizuální editor. Budete potřebovat pouze přístup k rozložení stránky. Většina editorů a blogovacích platforem umožňuje ruční úpravu kódu HTML.

Pokud například pracujete v Expression Web, můžete upravit kód stránky přepnutím do režimu kódu.

Jak nastavit, aby se odkazy otevíraly na nové kartě nebo v novém okně prohlížeče

thesitewizard.com

Změňte jej, aby vypadal takto:

thesitewizard.com

Nyní, když uživatelé kliknou na tento odkaz, otevře se v novém okně nebo kartě (v závislosti na tom, jaký prohlížeč používají a jak je nakonfigurován).

Vezměte prosím na vědomí, že pokud používáte DOCTYPE s přísnou syntaxí XHTML 1.0 nebo 1.1, nebudete moci použít výše uvedený kód a zároveň nechat stránku ověřit. Ale mám podezření, že tyto standardy nikdo nepoužívá. „Přechodné“ verze těchto standardů pro otevírání v novém HTML okně jsou pro nás v pořádku a navíc podporují atribut target.

Pokud pracujete v Expression Web, Dreamweaver, BlueGriffon nebo KompoZer, klikněte na odkaz, který chcete upravit, přejděte do režimu úprav HTML a přidejte atribut target="_blank".

Tato metoda nemá mnoho výhod.

Mnoho nových webmasterů si myslí, že otevřením odkazů v novém okně je méně pravděpodobné, že uživatelé web opustí. To je zásadně špatně. Pokud někdo klikne na odkaz a poté se bude chtít vrátit na váš web, jednoduše klikne na tlačítko „Zpět“. I technicky nejméně zdatní lidé se o této funkci dozvědí ihned po seznámení se s internetem. Pokročilí uživatelé také vědí, že můžete použít možnost „Otevřít odkaz na nové kartě“ (nebo „Otevřít odkaz v novém okně“).

Vytvořením odkazů, které se otevírají v novém okně, zabráníte uživatelům v návratu na váš web. Může se zdát, že se snadno vrátí do prvního okna s vaším webem. Moje zkušenost je taková, že tomu tak není – mate to lidi rozbité tlačítko"Zpět". Ani netuší, že je před nimi nová karta nebo nové okno. Když nejsou schopni se rychle vrátit předchozí stránka, jednoduše to vzdají a přejdou k jiným zdrojům.

Zkušení uživatelé na tom nejsou o nic lépe. Velmi je rozčiluje „zvyk“ vašeho webu otevírat nová okna bez povolení. Proto oni zkušení uživatelé- pokud by chtěli otevřít novou kartu, udělali by to sami a vůbec se jim nelíbí, že to dělají bez jejich souhlasu. Ještě horší je, když se všechny vaše odkazy otevírají v novém okně.

Stránka se stává zranitelnou vůči phishingovým útokům

Pokud se přihlásíte HTML tlačítko otevřít v novém okně pomocí target="_blank" , web, na který odkaz vede, získá přístup k oknu/záložce s vaší stránkou a může nahradit její obsah.

To nejenže neudrží uživatele na webu (pokud jste pro tento účel otevřeli nové karty), ale také to ohrozí návštěvníky. Pokud máte například přihlašovací stránku uživatele, stránka umístěná na odkazu ji může nahradit vaší kopií, ale zároveň shromažďuje uživatelská jména a hesla. Tento typ útoku se nazývá „phishing“.

A to není teoretická zranitelnost. Bezpečnostní specialisté Google zaznamenali „značný počet hlášení“ o takovém únosu karet za účelem zavedení škodlivého softwaru.

Pro ty, které to zajímá - technické údaje. Web otevřený v novém okně přistupuje na vaši stránku prostřednictvím objektu window.opener v JavaScriptu. Jedná se o objekt pro čtení/zápis, se kterým lze manipulovat. Mimo jiné můžete změnit vlastnost window.opener.location a donutit prohlížeč přejít na novou adresu a otevřít obrázek v novém HTML okně.

Některé prohlížeče umožňují tomuto chování zabránit přidáním atributu rel="noopener noreferrer" do odkazu. Příklad uvedený na začátku článku by vypadal takto:

thesitewizard.com

K ochraně před takovým útokem při otevírání stránky v novém HTML okně by teoreticky mělo stačit rel="noopener" i rel="noreferrer". V tomto případě je správnější použít atribut rel=”noopener”, protože rel=”noreferrer” má vedlejší účinek – prohlížeč nepřenese na stránku URL zdroje požadavku. Ale v tuto chvíli ne všechny prohlížeče podporují atribut rel="noopener". Stejně tak rel="noreferrer" není podporován některými prohlížeči. Pokud tedy chcete uživatele co nejvíce chránit více prohlížeče pravděpodobně budou muset používat oba atributy.

Tato technika však funguje pouze na proud Verze Chrome, Firefox a Safari. internet Explorer tuto funkci nepodporuje, i když jsem rychle zkontroloval verzi 11 IE a zdá se, že je před takovým útokem chráněn pomocí výchozího nastavení zabezpečení. O prohlížeči Microsoft Edge nemohu s jistotou říci.

Jinými slovy, výše popsanou metodu nelze nazvat stoprocentní ochranou. Nejlepší způsob Chcete-li se tomuto problému vyhnout, použijte normální odkazy bez atributu target="_blank".

Závěr

Obecným doporučením je vyhnout se otevírání karet v novém okně HTML, pokud je to možné. V některých případech se tomu samozřejmě nelze vyhnout. V této situaci můžete návštěvníky webu upozornit, že „odkaz se otevře v novém okně“. To běžnému uživateli moc nepomůže a neochrání ho před phishingovými útoky přes váš web, ale alespoň to nebude otravovat zkušenější uživatele.




Horní