Axel Richter: Bookmarklet suchen ersetzen

Beitrag lesen

Hallo,

Also habe ich begonnen ein wenig mit den
Bookmarlets zu versuchen.

Ich nehme mal www.google.de als Beispielseite.

Füge dort in die Adresszeile ein:

javascript:document.getElementsByTagName("html")[0].innerHTML.replace(/Unternehmensangebote/,'allesaendern');

Was passiert nun?
Ja das Wort "Unternehmensangebote" wird tatsächlich geändert.

Mal unabhängig von allen technischen Problemen: Dass Du per innerHTML nicht nur die sichtbaren Textinhalte ersetzt, sondern möglicherweise z.B. auch URI-Bestandteile in Linkzielen, Teile von Id- und Class-Werten usw., ist Dir bewußt?

Aber es passieren auch seltsame Dinge:
Google Logo weg
Kryptisches auf den Buttons
...also insgesamt zerschiesst es das Design ein wenig

Was mache ich falsch?

Du rufst ein neues Dokument mit der URI "javascript:...;" auf, dessen HTML-Inhalt aus dem entsprechen ersetzten HTML-Inhalt des HTML-Elements von www.google.de besteht, dessen base URI nun aber eben die neue URI ist, welche damit auch die base URI für alle relative Pfadangaben bspw. im src-Attribut von Grafiken und im href-Attribut von Links ist.

viele Grüße

Axel