/ / Meta tag v tele - javascript, html, html5, dom, meta-tagy

Meta Tag v tele - javascript, html, html5, dom, meta tagy

Implementujem systém pre môjho zákazníkariadky pripájania sledovacieho prvku k DOM vždy, keď sú vyvolané konkrétne chyby (jednoducho musí mať určitú hodnotu v atribúte data-trkError). Moja prvá myšlienka bola použiť

<span data-trkError="BLAH" style="display: none;"></span>

Ale potom mi napadlo, že sa to cíti intuitívne ako to, čo je meta značka by mala byť použiteľná pre. Toto sa však do veľkej miery musí pripojiť k špecifickému dielu v DOM, tj v tele. Je to problém? Existuje niečo, čo štandardne porušuje alebo nie je najlepšie postupy týkajúce sa metaznačky v strome stromu?

na zdravie

odpovede:

1 pre odpoveď č. 1

Na <meta>-tag je súčasťou 4.2 Metaúdaje dokumentu, Preto sa môže objaviť iba v <head>- časť dokumentu. Vaše riešenie pomocou <span> alebo a <div> alebo dokonca zoznam viacerých chýb je pre váš účel v poriadku.


2 pre odpoveď č. 2

Súhlasím s tým meta by sa hodili lepšie ako prázdne span, Avšak (párne) ak mohli by ste ich použiť v body), môžete použiť iba vlastné meta Kľúčové slová. Iba v HTML5 definované / registrované hodnoty sú platné.

Ale môžete mať meta prvky v body, ak sa používajú pre Microdata alebo RDFa. Napríklad RDFa predlžuje HTML5:

Ak @property Atribút RDFa je na internete link alebo meta Ak sa prvky používajú, musia sa považovať za vyhovujúce body dokumentu. Konkrétnejšie, keď link alebo meta prvky obsahujú RDFa @property a používajú sa v body dokumentu HTML5, MUSIA sa považovať za tokový obsah.

Mohli by ste preto pre svoje metadáta vytvoriť (alebo znovu použiť) existujúcu slovnú zásobu. V závislosti od prípadu použitia by to však mohlo byť nadmerné.

Ako alternatívu k span radšej by som Použi script prvok ako dátový blok:

Na script prvok umožňuje autorom zahrnúť dynamický skript a dátové bloky v ich dokumentoch. Tento prvok nepredstavuje obsah pre používateľa.

Napríklad:

<script type="text/plain"> <!-- or whichever MIME type suits your need -->
<!-- your data -->
<!-- you could of course use data-* attributs on this script element, too -->
</script>