El Noguer

Joaquim Perez i Noguer

HTML5: permet definir etiquetes pròpies

Filed under: Ciència i tecnologia — Joaquim Perez Noguer at 10:44 am on Dijous, març 13, 2014

HTML té moltes etiquetes per poder definir semànticament la pàgina (header,footer,section,article)  i moltes per definir els diversos tipus de camps (select,input,button)  que composen la interfície gràfica de la pàgina web.

Però què passa quan es vol posar a la pàgina un component que no està definit al HTML5? Aleshores, la manera més senzilla fins ara era utilitzant una biblioteca de components com  jQuery-ui  o Dojo.  Aquestes solucions són molt vàlides però, per desgràcia cada solució requereix afegir codi estrany al nostre html, classes, atributs data, …

Ara amb HTML5 hi haurà una possibilitat de fer-ho d’una manera més natural, utilitzant etiquetes.

Per exemple a continuació es defineix un nou element <x-foo-from-template> … </x-foo-from-template> :

<template id="sdtemplate">
     <style>
          p { color: orange; }
     </style>
     <p>I'm in Shadow DOM. My markup was stamped from a <template>.</p>
</template>

<script>
  var proto = Object.create(HTMLElement.prototype, 
              { 
                createdCallback: 
                {
                  value: function() 
                         {
                           var t = document.querySelector('#sdtemplate');
                           var clone = document.importNode(t.content, true);
                           this.createShadowRoot().appendChild(clone);
                         }
                 }
              });

    document.registerElement('x-foo-from-template', {prototype: proto});
</script>

Més informació:  Custom Elements: defining new elements in HTML – HTML5 Rocks.



No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>