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:

  1. 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.
  2. das Bookmarklet zählt Inhalt der Attribute wie title, alt, longdesc und dergleichen sowie Inhalt der Meta-Tags zum Text-Inhalt.
  3. 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: , , , , , ,

4 Kommentare to “Code-Text-Ratio Bookmarklet (update)”

  1.  Daniel schrieb am 09. Apr 2007 um 17:48

    Sieht ganz nett aus, aber brauchts wirklich so viele Nachkommastellen?
    Würden glaub ich 2 oder auch gar keine reichen.

  2.  Greg schrieb am 09. Apr 2007 um 18:06

    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.

  3.  Mike® schrieb am 09. Apr 2007 um 18:25

    Habe das jetzt auf 2 Stellen nach dem Komma reduziert, danke für die Anregung, fand’s bisher nicht so wichtig 😉

  4.  » Farbver(w)irrung « Trash Log Blog Archive schrieb am 09. Apr 2007 um 18:58

    [...] Bezüglich dem Bookmarkdingens: [...]

Trackback-Adresse | RSS-Feed für die Kommentare abonnieren

Hinterlasse einen Kommentar:


(Wir behalten uns vor Kommentare von dummen Menschen entweder zu löschen oder exemplarisch für die Nachwelt zu konservieren. Dumme Kommentare mit Werbelinks müssen leider auf zweiteres Privileg verzichten.)

XHTML: Du kannst diese Tags verwenden:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>