2012-09-10 13 views
33

Durante la lettura nel corso del WHATWG HTML5 - A technical specification for Web developers vedo molti riferimenti come ad esempio:Che cosa significa attributo idl nel documento standard html5 WHATWG?

contenuti Riflettendo attributi in IDL attributi

Alcuni attributi IDL sono definiti in modo da riflettere un contenuto particolare attributo. Ciò significa che durante il recupero, l'attributo IDL restituisce il valore corrente dell'attributo content e, nell'impostazione, l'attributo IDL modifica il valore dell'attributo content al valore specificato.

e:

In conformità ai documenti, c'è solo un elemento del corpo. L'attributo IDL body.body del documento fornisce agli script un facile accesso all'elemento del corpo del documento .

L'elemento body espone come contenuto del gestore eventi che attribuisce un numero ai gestori di eventi dell'oggetto Window. Inoltre, rispecchia gli attributi IDL del gestore eventi .

La mia comprensione (sicuramente confusa) deriva dal mondo Windows. Penso che un file .idl sia usato per mappare le chiamate di procedura remota in un'app distribuita su più livelli. Supporrei che un attributo di contenuto si riferisca ad attributi di elementi html.

Non c'è posto nello standard che possa vedere che spiega questo utilizzo dei termini "attributo contenuto" e "attributo IDL". Qualcuno potrebbe spiegare cosa significano questi termini e in che modo si riferiscono i due tipi di attributi?

+0

Un esempio di un attributo IDL è 'innerHTML' di un' Elemento'. Quando si imposta un valore su questo attributo, si attiva una modifica del DOM dopo aver analizzato il valore fornito. È molto diverso da un attributo di contenuto. – HRJ

risposta

38

L'IDL (Interface Definition Language) proviene dalla Web IDL spec:

Questo documento definisce un linguaggio di definizione di interfaccia, Web IDL, che può essere utilizzato per descrivere le interfacce che sono destinati ad essere attuato nei browser web . Web IDL è una variante IDL con un numero di funzioni che consente di specificare più facilmente il comportamento degli oggetti di script comuni nella piattaforma Web . Le interfacce descritte con Web IDL corrispondono ai costrutti all'interno degli ambienti di esecuzione ECMAScript è anche dettagliati in questo documento.

Content attributi sono quelli che compaiono nella marcatura:

<div id="mydiv" class="example"></div> 

Nel codice sopra id e class sono attributi. Di solito un attributo di contenuto avrà un attributo IDL corrispondente.

Ad esempio, il seguente JavaScript:

document.getElementById('mydiv').className = 'example' 

equivale a impostare l'attributo content class.

Nei testi JavaScript, gli attributi IDL vengono spesso definiti proprietà perché vengono esposti come proprietà degli oggetti DOM su JavaScript.

Mentre di solito c'è una coppia corrispondente di un attributo di contenuto e un attributo/proprietà IDL, non sono necessariamente intercambiabili. Ad esempio, per un <option> elemento:

  • l'attributo content selected indica il iniziale stato dell'opzione (e non cambia quando l'utente modifica l'opzione),
  • proprietà selected riflette la corrente stato del controllo
+1

Grazie per il link a Web IDL. E questa dovrebbe essere la versione "leggibile"! –

+0

Buona risposta. Mi sono permesso di aggiungere alcune informazioni su proprietà e attributi. – sleske

+0

Quindi, per esempio, ad es. onclick e altri? Ho letto da qualche parte sulle mailing list di Mozillas che questi sono attributi IDL ma appaiono anche nel markup ... Hanno descritto gli attributi del contenuto come quelli che influenzano il processo di rendering. –