Frage

Diese Frage wurde ein bisschen von diese Frage , in dem die meisten upvoted Antwort empfohlen, ein Feature von HTML 5. Verwendung es sicherlich eine gute Methode, um mich zu sein schien, aber es machte mich neugierig über die Funktionen von einem zukünftigen spec im allgemeinen verwendet wird.

HTML 5 bietet viele nette Verbesserungen, von denen viele ohne verwendet werden kann, Probleme in aktuellen Browsern zu verursachen.

Einige Beispiele:

// new, simple HTML5 doctype (puts browsers in standards mode)
<!doctype HTML>

// new input types,  for easy, generic client side validation
<input type="email" name="emailAddress"/>
<input type="number" name="userid"/>
<input type="date" name="dateOfBirth"/>

// new "required" attribute indicates that a field is required
<input type="text" name="userName" required="true"/>

// new 'data-' prefixed attributes
// for easy insertion of js-accessible metadata in dynamic pages
<div data-price="33.23"> 
    <!-- -->
</div>
<button data-item-id="93024">Add Item</button>

Viele dieser neuen Funktionen sind so konzipiert, um zu ermöglichen, ist für Browser Formulare automatisch zu validieren, sowie ihnen besser Eingänge (zum Beispiel eine Datumsauswahl). Einige sind nur bequem und scheinen wie ein guter Weg für die Zukunft gerüstet zu erhalten.

Sie zur Zeit nicht brechen nichts (soweit ich das beurteilen kann) in aktuellen Browsern und sie ermöglichen einem sauberen, generischen Clientside-Code.

Doch obwohl sie in HTML 5 alle gültig sind, sind sie für HTML nicht gültig 4 und HTML 5 ist noch ein Entwurf an dieser Stelle.

Ist es eine gute Idee, voran zu gehen und diese Funktionen nutzen zu früh?

Gibt es Browser Implementierung Probleme mit ihnen, dass ich nicht erkannt haben?

Sollten wir Web-Seiten jetzt, dass nutzen HTML 5 Entwurf Funktionen entwickeln?

War es hilfreich?

Lösung

Es gibt mehrere Dinge zu beachten:

  1. Erste, Validierung bedeutet nicht, dass viel, weil eine HTML-Seite sehr gut gültig sein kann, aber schlecht verfasst, unzugänglich usw. Siehe Say nicht auf "Valid HTML" Icons und Senden XHTML als text / html Schädliche betrachtet (in Bezug auf die hobo-Webtests in einer anderen Antwort erwähnt)
  2. das Da würde ich empfehlen, die neue DOCTYPE mit: der einzige Grund dafür in HTML5 ist, dass es die kleinste Sache, die Standards-Modus in Browsern auslöst, wenn Sie also Standards-Modus wollen, gehen mit ihm; Sie haben wenig bis keinen Grund, eine andere zu verwenden, ausführlich, fehleranfällige DOCTYPE
  3. Wie für die Formulare Erweiterungen können Sie Weston Rüter webforms2 JS-Bibliothek zu bringen es nicht bewusst Browser
  4. und schließlich über die data-* Attribute, es a) funktioniert in allen Browsern (solange Sie getAttribute() verwenden), b) ist immer noch besser als die title oder class Attribute zu missbrauchen und c) werden Sie nicht mit Validierung gestört, da wir vorhin gesagt, dass die Validierung nicht ist, dass wichtig (es ist natürlich, aber es spielt keine Rolle, dass Ihre Seite ist ungültig, wenn die Gültigkeit Fehler vorsätzlicher sind, und Sie können bereits HTML5 Validierung in der Verwendung W3C-Validator, so ...); so gibt es keinen wirklichen Grund, sie auch nicht zu verwenden.

Andere Tipps

Gute Frage!

Kurz gesagt: es auf Ihrem Kontext abhängt und Risikotoleranz:)

Etwas länger:

  • I denken es ist immer gut, den Umschlag auf eine vorzeitige Anwendung der Technologie zu schieben. Es gibt Ihnen einen Vorteil gegenüber Nachzügler in der kommerziellen Welt, und gibt Ihnen auch viel mehr Einfluss bei der Beeinflussung der Technologie, wie sie herausstellt.

  • Wenn Sie möchten Ihre Quelle nicht über neu zu schreiben Code, oder aktualisieren, dann vorzeitige Anwendung ist nicht für Sie sein kann. Es ist durchaus respektabel zu wollen soliden, stabilen Code zu schreiben, nie zu ändern, aber es ist ganz Ihnen überlassen (und Ihr Business-Kontext)

Wenn Ihre Seite stark auf Suchmaschinen-Platzierung beruht, kann es sich lohnen, man bedenkt, dass einige Motoren Priorität geben HTML-Validierung (Quelle: http://www.hobo-web.co.uk/seo-blog/index.php/official- google-bevorzugt-valid-html-css / ).

Auch ist es eine Überlegung wert, dass auf die neuen Termin Eingabeelemente (in Opera, wie jene, die möglicherweise anderen) unter Berufung für mehr Komfort auf Seiten des Entwicklers erlaubt, es verbiete die Regel komplexe Javascript Kontrollen einschließlich den Server verbessern würde älterer Browser (in der Regel zurück zu einem einfachen Texteingabefeld fallend).

Natürlich und wie immer, verlassen Sie sich nicht auf Browser-Seite überprüft und validiert alle Eingaben Server-Seite.

Bitte nicht die neuen Funktionen verwenden, bevor Sie sie in mindestens einem Browser testen können. wenn Sie die jetzt bilden Funktionen Verwenden Sie zum Beispiel, sollten Sie in Opera zu testen. Andernfalls werden Sie wahrscheinlich mehr schaden als nützen, indem dort zu einem vergifteten Erbe beitragen.

Wenn eine Funktion bereits in Browsern implementiert ist und Sie mit diesen Browsern testen, sicher, benutzen Sie bitte die neuen Funktionen nutzen.

Siehe auch ein ältere Antwort .

Siehe Robustheits Prinzip :

  

In RFC 761 (Transmission Control   Protokoll, 1980) amerikanischer Computer   Wissenschaftler Jon Postel zusammengefasst   frühere Kommunikation erwünschter   Interoperabilitätskriterien für die   Internet Protocol (vgl IEN 111 1 , RFC   760) wie folgt:

     

TCP-Implementierungen sollte folgen   allgemeiner Grundsatz der Robustheit: sein   konservativ in dem, was Sie tun, sein   liberal, was Sie akzeptieren von   andere .

Also, imho, Nr.

Ich werde keine neuen Funktionen von HTML implementieren, bis zumindest sie Unterstützung von allen gängigen Browsern haben.

Kunden interessieren sich nicht, wenn die Seite gültig ist, sie kümmern sich viel mehr, wenn es Cross-Browser funktioniert. Auch wenn wir die neuesten Standards wird es nach wie vor Kunden und Unternehmen, die nie verlieren ihre IE6 und IE6 werden auf ihre Browser Anforderungsliste für noch eine Weile zu implementieren kämpfen.

Die neuen Formulartypen werden begrüßt, doch haben sich die Formen in der Server-Seite überprüft werden.

Vorbei an HTML5 vorhandene Dokumente werden mit viel Aufwand und Anpassung erfordern und in meiner Einschätzung wird nicht über Nacht geschehen. Erwarten, dass mindestens ein 3 Jahre, bis sie den Mainstream treffen wird.

würde ich HTML 5 nur zum Spaß und Lernen verwenden, aber definitiv würde ich keinen meines Produktionscode (vorhandene Code) mit diesem neuen Standard berühren, zumindest jetzt und bis ich einen wichtigen Grund habe, diese Schritte zu unterstützen .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top