Tunnisteen kohdeattribuutti. HTML-perusteet: Linkkien käyttäminen. Tag A ja sen attribuutit rel, target, name. Hyperlinkin tekeminen HTML:ään käyttämällä href

Kohteen ainoa tällä hetkellä relevantti arvo on _blank . Muita kohteen arvoja käytettiin tiettyjen kehysten määrittämiseen. Kehykset on kuitenkin poistettu käytöstä HTML5:ssä.

Oletuskohde

Jos kohdetta ei ole määritetty, linkki avautuu nykyisessä kontekstissa, ellei käyttäjä tai selain toisin määrää.

a target=”_blank” Avaa uudessa selaimen välilehdessä (tai ikkunassa)

Kohde-attribuutti määrittää, minne linkitetty dokumentti avautuu, kun linkkiä napsautetaan. Oletus on nykyinen ikkuna. Jos target="_blank" , linkitetty asiakirja avautuu uuteen välilehteen tai (vanhemmissa selaimissa) uuteen ikkunaan.

Miksi avata uudessa selaimessa?

Yleisin syy käyttää kohdetta=”_blank” on se, että sivuston ulkopuoliset linkit avautuvat erilliseen välilehteen. Tämän avulla käyttäjä voi napsauttaa viittausta ja palata siihen myöhemmin poistumatta nykyiseltä sivulta. Se pitää vierailijat sivustollasi pidempään ja parantaa useimpia tietojasi: välitön poistumisprosentti, tulos, vieraillut sivut.

Avaa kaikki ulkoiset linkit uudessa välilehdessä JavaScriptillä

Sinun ei tarvitse "lisätä target="_blank" manuaalisesti jokaiseen sivustosi linkkiin. Jos linkität paljon (mitä sinun pitäisi tehdä), on helppo lisätä JavaScript-koodia sivustollesi ja muuttaa kaikki ulkoiset linkit _tyhjät linkit automaattisesti.


jQuery(document.links) .filter(function() (palauta tämä.isäntänimi != ikkuna.sijainti.isäntänimi; )) .attr("kohde", "_tyhjä");

(Voit nähdä tämän koodin hieman muokatun muodon toiminnassa tämän sivuston jokaisella sivulla.) Tämä temppu vaatii jQueryn, mutta sinulla on hyvä mahdollisuus jo käyttää sitä. Sitä käytetään suosituimmissa kehyksissä ja sisällönhallintajärjestelmissä, mukaan lukien WordPress, Drupal ja Twitter Bootstrap. Jos sinun on tehtävä se ilman jQueryä, sekin voidaan tehdä. Tässä on "pelkkä JavaScript" versio:

Funktio externalLinks() ( for(var c = document.getElementsByTagName("a"), a = 0;a< c.length;a++) { var b = c[a]; b.getAttribute("href") && b.hostname !== location.hostname && (b.target = "_blank") } } ; externalLinks();

Sen lisäksi, että tämä helpottaa, se puhdistaa merkintäsi huomattavasti.

Syitä olla käyttämättä `target=”_blank”

Jotkut ihmiset väittävät, että käyttäjät eivät halua avata linkkejä uudessa selauskontekstissa. He ajattelevat, että sen tekeminen muistuttaa ponnahdusikkunoita ja muuta ärsyttävää toimintaa. Nousun myötä välilehtien selaus, tämä väite on suurelta osin kadonnut. Useimmat käyttäjät haluavat avata linkit uudella välilehdellä, koska sen avulla he voivat jonottaa viitattuja linkkejä myöhempää lukemista varten menettämättä nykyistä selauskontekstiaan.

Kohdeattribuutin arvot Arvo Nimi Huomautuksia
_tyhjäAvaa linkitetyn asiakirjan uuteen välilehteen tai ikkunaan.
_parentAvaa linkin ylätason kehyksessä. Kehykset ovat vanhentuneet HTML5:ssä.
_itseAvaa linkki nykyisessä kehyksessä.
_topAvaa linkin ylimmässä kehyksessä. Kehykset ovat vanhentuneet HTML5:ssä.
kehyksen nimiAvaa linkin nimetyssä kehyksessä. Kehykset ovat vanhentuneet HTML5:ssä.

Hyvää päivää, rakkaat lukijat. Answers to Questions -numeroa ei ole julkaistu pitkään aikaan, luulen, että monet ovat jo odottaneet vastauksia kysymyksiinsä. Jotkut teistä ovat jo löytäneet vastauksen kysymykseesi ilman apuani, pahoittelen, etten antanut sinulle vastausta. Minä parantelen. Valitettavasti tänään en myöskään vastaa kaikkiin kysymyksiin, vaan vain yhteen.

Minusta tämä kysymys oli varsin mielenkiintoinen ja hyödyllinen, joten päätin kiinnittää siihen erityistä huomiota. Joten tässä on kysymys.

Onko mahdollista pakottaa linkki avautumaan uudessa selainikkunassa target="_blank"-tunnisteen avulla? Eikö tämä ole haitallista? Vaikuttaako tämä mihinkään?

Erittäin mielenkiintoinen kysymys, tosiasia on, että tag-attribuutti , joka avaa linkin uuteen ikkunaan tai selaimen välilehteen, target="_blank", yksi HTML:n kiistanalaisimmista. Vaikka itse käytän sitä vain ja useammin kuin kerran lukijoilleni, kannattaa silti ymmärtää tämä asia ja yrittää saada jonkinlainen mielipide.

Tässä kannattaa pohtia tilannetta kahdelta puolelta: käyttämällä kohdetta validoinnin kannalta ja avata linkki uuteen ikkunaan tai selaimen välilehteen käytettävyyden näkökulmasta. Aloitan ensimmäisestä.

Attribuutti target="_blank" on virheellinen attribuutti, ja sen käyttö on sallittu vain siirtymäasiakirjoissa:

Vertailun vuoksi Bloggerissa se on seuraava:

sisältää tietoa dokumentin tyypistä, joka on web-sivun pakollinen elementti, joka kertoo selaimelle, miten sivu tulkitaan. En mene HTML:n, XML:n, XHTML:n luomisen historiaan - kaikki tämä on materiaalia useammalle kuin yhdelle artikkelille. Mutta yritän välittää olemuksen.

Jos puhumme Bloggerista, mallimme on sekoitus kahta kieltä - HTML ja XML, tällaisissa tapauksissa on tarpeen määrittää - XHTML 1.0 Strict. Tämän tyyppisillä asiakirjoilla on oltava selkeä syntaksi, eikä tämän tyyppisten asiakirjojen määrittelyssä ole target="_blank"-attribuuttia. Tästä syystä meille tämä attribuutti on virheellinen, ja itse asiassa sen käyttö on kielletty.

Jos puhumme muista sivustoista, onko siellä mahdollista käyttää target="_blank"-attribuuttia, sinun on katsottava sivun lähdekoodia, nimittäin merkintää .

Asiakirjan tyypin määrittää tietyn sivuston kehittäjä sen mukaan, mitä kieltä tai sen versiota käytetään sivuston asettelussa.

Mitä tehdä tällaisessa tilanteessa?
Tiedän vain kaksi ratkaisua tähän tilanteeseen. Ja molemmat vaihtoehdot ovat kaukana ihanteellisista.

Ensimmäinen vaihtoehto on, että asiakirjan kelvollisuuden varmistamiseksi voit käyttää erityisiä JavaScript- tai JQuery-skriptejä, jotka avaavat sivut uudessa selaimen taitteessa.

Tämän menetelmän haittapuoli: jos JavaScript on poistettu käytöstä selaimen asetuksista, sivu ei avaudu uuteen ikkunaan.

Toinen vaihtoehto on käyttää target="_blank" etkä enää kärsi tästä ongelmasta. Vaikka tämä määrite on virheellinen, kaikki selaimet tukevat sitä silti. Eikä sen käyttö vaikuta millään tavalla hakukoneiden suorittamaan sivuston indeksointiin.

Olemme keskustelleet kysymyksen ensimmäisestä osasta, mutta kuten jo sanoin, asialla on toinenkin puoli - käytettävyys, mukavuus vierailijalle. Onko lukijoillemme kätevää avata linkkejä uudelle välilehdelle?

Tietty osa (en osaa sanoa kuinka moni) kehittäjistä pitää huonona muotona evätä käyttäjältä mahdollisuus päättää itse, miten sivu avataan, samalla välilehdellä tai uudella. Ja myös enemmän A Olen osa edistyneitä (kokeneita) käyttäjiä, he uskovat pystyvänsä itse päättämään, kuinka linkki avataan, koska tämä tarjotaan, ainakin samassa hiiressä. Toisaalta Internetissä on paljon käyttäjiä, joiden taso on alle keskiarvon, ja monet eivät tiedä, että samaa hiirtä käyttämällä voit avata minkä tahansa linkin uuteen ikkunaan.

Jos et vielä tiedä, miten tämä tehdään, kerron sinulle. Jokaisessa hiiressä on oltava pyörä, joten jos siirrät hiiren linkin päälle ja napsautat rullaa, linkki avautuu uuteen ikkunaan. Tai on hiiriä, joissa on kolme painiketta, ja tämä toiminto suoritetaan keskinäppäimellä. Mutta kuten sanoin, kaikki Internetin käyttäjät eivät tiedä tällaisesta miellyttävästä pienestä asiasta.

Lisäksi monien käyttäjien kannalta on kätevää, että sisäinen linkki avautuu samassa selainikkunassa (välilehdellä), ja ulkoiset linkit avautuvat uudelle välilehdelle monille tämä on yksinkertaista ja loogista.

Juuri tällaisten vastakkaisten mielipiteiden ja käyttäjien erilaisen tietämyksen vuoksi target="_blank"-attribuutti ja yleensä kysymys linkkien avaamisesta uudessa ikkunassa ovat kuumimmin keskusteltu aihe.

Mikä on mielipiteeni tästä asiasta? Olin itse aloittelija, tunnen monia ihmisiä, jotka tietävät Internetistä vain Yandexin ja Odnoklassnikin, ja heillä ei yksinkertaisesti ole aavistustakaan, mikä näyttö on, miksi näppäimistössä on niin paljon painikkeita ja miksi hiiren rulla tarvitaan ollenkaan (Tietenkin tällaiset aukot täytetään nopeasti). Itse olen sitä mieltä, että uuden sivuston avaaminen samalle välilehdelle, jossa nyt olen, on erittäin hankalaa. Vaikka aikoisinkin todella poistua sivustolta, en huolehdi liikaa, jos suljen edellisen välilehden. Haluan, että sivuston sisällä oleva linkki avautuu samassa välilehdessä ja ulkoinen linkki uuteen. Tämä on henkilökohtainen mielipiteeni, enkä väitä olevani totuus.

Jos olet vakavasti pohtinut tätä ongelmaa ja päättänyt käyttää erityistä komentosarjaa, yritin löytää sinulle ratkaisun. Tämä skripti sopii kaikille verkkosivustoille, sisällönhallintajärjestelmään ja Blogger-alustalle. Näytän sinulle esimerkkinä Bloggerin.

Siirry kohtaan Suunnittelu – Muokkaa HTML-koodia, etsi koodi ja lisää koodi sen eteen:


Jos haluat varoittaa käyttäjiäsi siitä, että linkki avautuu uuteen välilehteen, voit käyttää linkissä tyyliä, kuten tein. Voit tehdä tämän lisäämällä seuraavan tyylin malliin ennen riviä ]]>:

Ulkoinen (
täyte: 0 10px 2px 0;
tausta: url(http://lh6.googleusercontent.com/_G92voTj-yF0/TcFG68RdfLI/AAAAAAAABfA/QJM25G6lInk/externallink.gif) ei toistoa oikealla keskellä;
}

Lähetin täytekentän arvot. Riippuen käyttämästäsi fontista ja tekstinäyttöasetuksista, sinun on säädettävä nämä numerot sinulle sopiviksi. Voit myös ladata kuvan albumiisi tai käyttää toista kuvaa kokonaan.

Haluan sanoa, että testasin kolmea eri skriptiä, ja yllä ehdotettu ei toimi kaikkialla. Jos yllä ehdotettu komentosarja ei toimi sinulle, voit kokeilla seuraavia vaihtoehtoja:

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

Mutta kaksi viimeistä komentosarjaa eivät tue tyylien automaattista lataamista, joten jos haluat käyttää ulkoiselle linkille tyyliä, joka eroaa sisäisestä linkistä, älä unohda määrittää class="external" linkille.

Siinä on kyse target="_blank":n käyttämisestä ja linkin avaamisesta uudessa välilehdessä. Toivon, että vastasin lukijan kysymykseen ja tästä tiedosta on hyötyä myös kaikille muille.

Hyvät bloggaajat, jos kysymyksesi liittyy Bloggeriin, suosittelen sen esittämistä keskustelupalstalla. Vastauksia julkaistaan ​​blogissa harvemmin, eikä aivan säännöllisesti, ja vastausta melko peruskysymykseen joutuu odottamaan useita viikkoja. Esittämällä kysymyksen foorumilla saat vastauksen minulta tai muilta käyttäjiltä muutaman tunnin sisällä.
Hyvää viikonloppua.

Kun napsautat linkkiä, asiakirja avautuu oletusarvoisesti nykyisessä ikkunassa tai kehyksessä. Tätä ehtoa voidaan tarvittaessa muuttaa tagin target-attribuutilla . Tämä määrite ei ole sallittu XHTML:ssä.

Syntaksi ... Pakolliset attribuuttiarvot

Arvo on name-attribuutin määrittämä ikkunan tai kehyksen nimi. Jos nimeä ei ole olemassa, avautuu uusi ikkuna. Seuraavia käytetään varattuina niminä.

Tyhjä Lataa sivun uuteen selainikkunaan. _self Lataa sivun nykyiseen ikkunaan. _parent Lataa sivun yläkehykseen, jos kehyksiä ei ole, tämä arvo toimii kuten _self . _top Hylkää kaikki kehykset ja lataa sivun koko selainikkunaan, jos kehyksiä ei ole, tämä arvo toimii kuten _self .

Oletustarkistus

Tämän määritteen käyttö on vanhentunut HTML-määrityksen mukaan. Kelvollinen koodi saadaan vain, kun käytetään siirtymävaihetta .

HTML5 IE Cr Op Sa Fx

Tag A, kohdemäärite

Avaa uudessa ikkunassa

Monet sivustot käyttävät käytäntöä avata ulkoiset linkit uudessa ikkunassa. Usein tällä tavalla avataan esimerkiksi linkkejä kehittäjien verkkosivuille tai hakukoneiden tuloksiin. Yleensä tämä tehdään tag-attribuutilla< >:

Yleisesti ottaen ei ole mukavaa kertoa käyttäjälle, kuinka linkki avataan. Verkkosivuston käytettävyysgurut väittävät yksimielisesti, että käyttäjä voi itse päättää, kuinka linkki avataan. Hän selvittää ikkunansa ilman toiveitamme tässä asiassa. Lisäksi rikomme myös tavallisen selaimen "Takaisin"-painikkeen toiminnallisuuden. Tällainen töykeä tottumuksiin puuttuminen aiheuttaa todennäköisesti vihamielisyyttä!

Lisäksi syntyy huono vaikutelma: "Käyttäjä poistuu sivustolta! Hän ei ehkä koskaan palaa tänne! Ah-ah-ah! Mitä tehdä? Avataan uusi linkki toiseen ikkunaan! Ehkä, kun hän on nähnyt kaiken tarvitsemansa, niin tämän ikkunan sulkemalla hän tulee meille uudestaan ​​ja silloin hänestä tulee varmasti vakituinen vierailija!"

Tarkoitus, toivottavasti, on selvä - täytä sivusto laadukkaalla hyödyllisellä ja mielenkiintoisella sisällöllä ja sitten vierailijat palaavat tietoisesti ja itsenäisesti.

Moraalisen puolen lisäksi ongelmalla on kuitenkin myös tekninen puoli - kohde-attribuutti ei ole XHTML 1.0 Strict -määrittelyssä, joten se ei läpäise validointia!

Kelvollinen ratkaisu: JavaScript

Jos kuitenkin päätit (tai jouduit) aiemmista kappaleista huolimatta avaamaan sivun uuteen ikkunaan, tehdään se ainakin oikein.

Tässä JavaScript tulee apuun. Yritetään siepata linkin onclick-tapahtuma ja pakottaa uusi ikkuna avaamaan windows.open()-funktiolla. Sitten estämme linkin seuraamisen alkuperäisessä ikkunassa määrittämällä return false:

Linkki avautuu uuteen ikkunaan

Tarkistamme tuloksena olevan ratkaisun: .

Kaikki on mahtavaa. Selaimet avaavat linkin luottavaisesti uuteen ikkunaan. Validaattori ilahduttaa meitä vihreällä menestysviestillä. Vaikuttaa siltä, ​​että voit rauhoittua, mutta niin ei ole! Yritetään asettaa kova ponnahdusikkunoiden esto selaimeesi ja klikata linkkiä uudelleen!

Parempi ratkaisu

Ponnahdusikkunoiden esto on ensisijaisesti suunniteltu torjumaan ärsyttäviä mainoksia. Tämä ominaisuus on käytettävissä kaikissa nykyaikaisissa selaimissa. Jotkut selaimet tarjoavat jopa erilaisia ​​estotasoja. Esimerkiksi Opera 9+:ssa voit estää joko vain "ei-toivotut" ikkunat tai kaiken.

En tiedä, mikä prosenttiosuus käyttäjistä kamppailee niin radikaalisti ponnahdusikkunoiden kanssa, mutta vain näillä asetuksilla ikkunan avaamisen sijaan ilmestyy pieni kehote "ponnahdusikkuna on estetty". Lisäksi jopa tämä ilmentymä selaimen vastauksesta napsautukseen voidaan poistaa käytöstä asetuksista. Tässä tapauksessa linkki yksinkertaisesti menettää toiminnallisuuden: "Klikkin, mutta mitään ei tapahdu!"

Jos joku sanoi tämän luettuaan: "Et voi miellyttää kaikkia! No, kuka on heidän lääkärinsä, että heiltä on kaikki pois päältä ”, emme ole samalla tiellä tällaisten ihmisten kanssa! Muilta osin jatketaan.

Linkki avautuu uuteen ikkunaan

Tässä hyödynsimme sitä tosiasiaa, että window.open()-funktio palauttaa true, jos ikkuna avattiin onnistuneesti, ja false muussa tapauksessa. Eli siinä tapauksessa, että linkki avautuu onnistuneesti uudessa ikkunassa, estämme linkin avaamisen omassa ikkunassaan, koska paluu on!true=false. Ja päinvastoin, jos ikkunaa ei voitu avata, palauta tosi antaa linkin toimia normaalisti.

tagin tekemiseen käytetään target="_blank". avasi linkin uuteen ikkunaan. Mutta mikä on kohde-HTML? Miksi sen pitäisi olla tyhjä? Ja mielenkiintoisin asia on, miksi alussa on alaviiva? Katsotaanpa tätä koodia tarkemmin ja ymmärretään, mitä se tekee.

kohdemääritteen kohdearvot

Kohdeattribuutin neljä yleisintä arvoa ovat:

_itse

Ainoa tilanne, jossa näin voi tapahtua, on, jos HTML käyttää tunnistetta, joka asettaa tietyn avaustavan kaikille linkeille. Jos esimerkiksi lisäät seuraavan koodin tunnisteiden väliin, käytät kohdetta "self", jolloin linkki avautuu samaan ikkunaan.

_tyhjä

Avaa linkin uuteen välilehteen tai ikkunaan. Tämä määräytyy käyttäjän paikallisten asetusten mukaan, useimmissa selaimissa tämä on uusi välilehtisivu. Saatat ajatella, että käyttämällä tätä arvoa voit ottaa käyttöön ponnahdusikkunamainosyksiköitä. Mutta se ei ole totta. Useimmiten tähän käytetään JavaScriptiä HTML:n sijaan.

Tätä kohde-HTML-attribuutin arvoa käytetään parhaiten avaamaan linkkejä ulkoisiin sivustoihin tai PDF-tiedostoihin uudessa välilehdessä. Tämän ansiosta näiden välilehtien sulkemisen jälkeen käyttäjä palautetaan sivustollesi. Mutta tätä ei pidä käyttää väärin, koska käyttäjän on melko vaikea navigoida, jos jokainen linkki avautuu uudelle välilehdelle.

_parent

Arvo _parent avaa linkin sen kehyksen pääkehykseen, jossa olet. Tämä ei ole suosittu arvo, koska kehystystunnisteita ei tueta HTML5:ssä. Tätä arvoa voidaan kuitenkin edelleen käyttää sisällä.

_top

Kuten _parent , _top-arvo koskee kehyksiä. Voit käyttää sitä kehysten luomiseen kehyksissä monitasoisella hierarkialla. _top peruuttaa kaikki asennetut kehykset ja lataa sivun erilliseen selainikkunaan.

kehyksen nimi

Avaa linkin kehyksessä, jonka nimi on määritetty HTML href -kohdeattribuutin arvossa. Esimerkiksi, avautuu kehykseen nimeltä frame1 , eli