2012-09-28 25 views
6

Vedrete molti siti con il seguente tipo di codice:Sono ancora necessari gli attributi di tipo sugli elementi SCRIPT, STYLE e LINK?

elementi Script:

<script type="text/javascript"> 
    //javascript here 
</script> 

elementi di collegamento:

<link rel="stylesheet" href="url.css" type="text/css" media="all" /> 

elementi di stile:

<style type="text/css"> 
    /* CSS */ 
</style> 

La mia domanda è questo:

Gli attributi type sono necessari nei browser più diffusi oggi?

(significato popolare IE 8+, Firefox, Webkit, Opera e Chrome)

Cosa succede se non si includerli?

Nota: la risposta deve riguardare entrambi i doctypes HTML5 e XHTML se esiste una differenza di comportamento tra i due.

+2

Si fa una domanda su "type attributes" e quindi si specifica che "sia _doctypes_d HTML5 che XHTML" devono essere coperti. Queste sono due cose diverse per favore. – noel

risposta

6

In breve, essi non sono necessari poiché HTML5, ma sono richiesti da standard W3C in HTML4/XHTML.


In HTML5type di script tag:

tipo - Questo attributo identifica il linguaggio di scripting di codice incorporato all'interno di un elemento script o si fa riferimento tramite l'attributo src dell'elemento. Questo è specificato come un tipo MIME; esempi di tipi MIME supportati includono testo/javascript, testo/ecmascript, applicazione/javascript e application/ecmascript. Se questo attributo è assente, lo script è trattato come JavaScript.

in HTML4 e XHTML è richiesto dalla W3C standards.

Per style e linktype:

In HTML5, l'attributo type non è più necessaria. Il valore predefinito è "text/css".

+0

Si noti che il futuro potrebbe portare valori predefiniti diversi per HTML6. Quindi assicurati di indicare quale versione HTML (ad esempio HTML5) usi, se ti affidi a questi valori predefiniti. –

1

Nei browser più recenti (supporto HTML5) digitare attrib è opzionale e se non dato sctipt capirà di default come text/javascript e stile capirà come text/css

+0

anche i vecchi browser lo capiranno ... –

+0

sì sì .. grazie per aver capito che ... – Gaurav

4

Risposta breve

No, non lo sono.

Risposta lunga

Per molto tempo, il browser di default imposta la type=text/javascript a elementi dello script, ect. quando hai omesso l'attributo type. HTML5 rende questo funzionario, ma ogni browser l'ha supportato molto tempo fa.

In effetti, quale doctype si utilizza non influenza il comportamento del browser, ma solo le specifiche W3C. Il simpatico e breve doctype HTML5 è il doctype standard per anni nei normali browser. HTML5 rende solo quelle cose carine ufficiali.

Quindi è possibile utilizzarlo e nessun browser urlerà o fallirà, solo il validatore.

+0

La verità è stata detta. –

1

Attualmente non sono richiesti. Perché tutti i browser assumono il valore predefinito che ti aspetteresti.

Ma potrebbero diventare importanti nel futuro.

Ad esempio, quando Google Dart diventa completamente integrato nei browser e quindi abbiamo un'alternativa a JavaScript. Allo stesso modo, una volta che qualcuno propone un bel sostituto per CSS, abbiamo bisogno di questo . E potrebbe anche darsi che Dart diventi "JavaScript 2.0". E il linguaggio bastardo che JavaScript ha sicuramente richiede una sostituzione più sana. Immagino che lo useremo tutti, perché non c'è alternativa che funzioni cross-browser (e infatti, nemmeno uno che funziona in un singolo browser, immagino ...).

Quindi se pianifichi il tuo sito di vivere per un anno: non preoccuparti. Se prevedi di far funzionare il sito per 10 anni, prova ad essere dettagliato sui tipi di contenuto, i formati e le versioni.

+0

Pensiero interessante ma in 10 anni presumo che rifare/rifare il mio sito in quel periodo. Dici Google Dart, sembra che non sia * quando * diventa completamente integrato ma * se * diventa completamente integrato. Il tempo lo dirà. Grazie! – L84

+0

Bene, dato che Google * possiede * uno dei browser più popolari, sicuramente avrà la possibilità di scaricarlo almeno in uno di essi in qualsiasi momento. –

+0

È vero, non ho un'opinione in un modo o nell'altro. – L84

Problemi correlati