HTML5 Validator Bookmarklet erstellen / finden

Ich möchte ein Lesezeichen suchen oder erstellen, das den HTML-Inhalt einer aktuell angezeigten Seite mithilfe des W3C HTML 5-Validators überprüft.

Ich habe zwei Lesezeichen gefunden und versuche, eines dazu zu bringen, sich ein bisschen wie das andere zu verhalten. Ich bin mir jedoch nicht sicher, wie ich das machen soll.

Chris Coyier hat eineHTML5-Validierungsbookmarklet Das funktioniert gut, außer es verwendet den Seiten-URI und funktioniert daher nicht für lokal getestete Sites:

<code>javascript:(function(){%20function%20fixFileUrl(u)%20{%20var%20windows,u;%20windows%20=%20(navigator.platform.indexOf("Win")%20!=%20-1);%20%20/*%20chop%20off%20file:///,%20unescape%20each%20%hh,%20convert%20/%20to%20\%20and%20|%20to%20:%20*/%20%20u%20=%20u.substr(windows%20?%208%20:%207);%20u%20=%20unescape(u);%20if(windows)%20{%20u%20=%20u.replace(/\//g,"\");%20u%20=%20u.replace(/\|/g,":");%20}%20return%20u;%20}%20/*%20bookmarklet%20body%20*/%20var%20loc,fileloc;%20loc%20=%20document.location.href;%20if%20(loc.length%20>%209%20&&%20loc.substr(0,8)=="file:///")%20{%20fileloc%20=%20fixFileUrl(loc);%20if%20(prompt("Copy%20filename%20to%20clipboard,%20press%20enter,%20paste%20into%20validator%20form",%20fileloc)%20!=%20null)%20{%20document.location.href%20=%20"http://validator.w3.org/file-upload.html"%20}%20}%20else%20document.location.href%20=%20"http://validator.w3.org/check?uri="%20+%20escape(document.location.href);%20void(0);%20})();
</code>

Ich habe auch dieses gefunden, das funktioniert, indem ich den HTML-Code der aktuellen Seite abgerufen habe, aber ich kann nicht herausfinden, wie es HTML5 ausführt. Es gibt einen Verweis auf doctype im Code, und ich habe versucht, diesen in HTML5 zu ändern. html500 etc, und es vollständig zu entfernen, in der Hoffnung, es würde automatisch erkennen .. aber ohne Erfolg:

<code>javascript:(function(){var h=document;var b=h.doctype;var e="<!DOCTYPE "+b.name.toLowerCase()+' PUBLIC "'+b.publicId+'" "'+b.systemId+'">\n';var g=h.documentElement.outerHTML;var f="http://validator.w3.org/check";var i={prefill_doctype:"html401",prefill:0,doctype:"inline",group:0,ss:1,st:1,outline:1,verbose:1,fragment:e+g};var a=h.createElement("form");a.setAttribute("method","post");a.setAttribute("target","_blank");a.setAttribute("action",f);for(var j in i){var c=h.createElement("input");c.setAttribute("type","hidden");c.setAttribute("name",j);c.setAttribute("value",i[j]);a.appendChild(c)}if(navigator.appCodeName=="Mozilla"){h.body.appendChild(a)}a.submit()})();
</code>

Antworten auf die Frage(4)

Ihre Antwort auf die Frage