Code-Text-Ratio Bookmarklet (update)
Wegen meiner Frage hier nach einer Extension zum lokalen Ausrechnen des Verhältnisse von Code zu Inhalt (Code-Text-Ratio) in Webseiten war stephantom mal so freundlich ein Bookmarklet? zu basteln.
Ich habe das hier mit meinen Möglichkeiten mal getestet und weitgehend scheint mir das zu funktionieren.
Anmerkungen dazu:
- verschiedene Online-tools bringen andere Ergebnisse, das dürfte daran liegen, dass unterschiedliche Algorithmen verwendet werden (siehe Punkt 2), leider sind die verwendeten Algos nicht offen verfügbar, bzw. finde ich keinen dazu.
- das Bookmarklet zählt Inhalt der Attribute wie title, alt, longdesc und dergleichen sowie Inhalt der Meta-Tags zum Text-Inhalt.
- Nicht zum Inhalt werden natürlich Attribute wie width, style usw. gezählt.
Das Bookmarklet:
Code-to-Text-Ratio (rechte Maustaste: Lesezeichen hinzufügen; Linke Maustaste: Testen)
Der Code:
javascript:var sa = new Array('alt', 'longdesc', 'title', 'content', 'summary');function c(el) {var length = 0;for (var i = el.firstChild; i != null; i = i.nextSibling) {for(var n in sa) {try {if(i.getAttribute(sa[n]) != null) {length += i.getAttribute(sa[n]).length;}} catch(e) {}}if(i.nodeType == 3) {length += i.data.length;} else {if(i.firstChild != null) length += c(i);}}return length;}function ratio(msg) {var rate = c(document) / document.documentElement.innerHTML.length * 100;if(msg) alert(‘Dieses Dokument hat einen Code-to-Text-Ratio von ‚ + Math.round(rate*100)/100 + ‚%‘)}ratio(true);
Anregungen bzgl. Funktionalität und Meinungen zum Zählen der Attribut-Inhalte sind erwünscht.
Update: Ausgabe auf 2 Stellen reduziert.
Technorati Tags: bookmarklet, browser, webdesign, developement, seo, extensions, addons
- von Mike® am 9. April 2007 in:
- (X)HTML/ CSS,
- JavaScript, AJAX,
- Sitecheck
Sieht ganz nett aus, aber brauchts wirklich so viele Nachkommastellen?
Würden glaub ich 2 oder auch gar keine reichen.
Klar braucht man nicht so viele Nachkommastellen, aber sie stören ja auch nicht, oder? Wenn doch, kann man die Variable rate ja per Math.round() runden.
Habe das jetzt auf 2 Stellen nach dem Komma reduziert, danke für die Anregung, fand’s bisher nicht so wichtig
[...] Bezüglich dem Bookmarkdingens: [...]