# Wort auf der gesamten Seite ersetzen?



## huti (5. November 2011)

Hallo

Wie der Titel schon sagt möchte ich mit Javascript ein Wort
auf der ganzen Seite durch ein anderes ersetzen lassen.

Ich hab mit Hilfe des Internets rausgefunden wie ich Wörter inerhalb eines Textfeldes ersetzen lassen kann, aber ich will dass das Wort wirklich auf der gesamten Internetpräsenz ersetzt wird, also vom <body> bis zum </body>.

Also hab was probiert


```
<script type="text/javascript">

var beispiel="(Ganze Seite)";
document.write(beispiel.replace(/Huhn/gi, "Kaninchen"));

</script>
```

Aber leider hab ich nicht so viel Ahnung, weiss nicht wie ich eine
Variable für die ganze Seite rausholen soll...

Hoffe jemand hier weiss mehr als ich.


----------



## javaDeveloper2011 (5. November 2011)

Hallo,


```
document.getElementsByTagName('body')[0].innerHTML
```
liefert den Inhalt des body-Tags.
Aber Vorsicht:
- wenn du z.B. "div" durch "ghgf455r" ersätzt betrifft das auch das "div"-Signalwort
- nur in Chrome getestet
- Verändert natürlich nur die aktuelle Darstellung der aktuellen Seite
(Quelltext auf Server bleibt unangetastet + Andere Seiten der Internetpräsenz sind nicht betroffen)

Gruß


----------



## CPoly (5. November 2011)

Ich hab da mal was zusammengehackt. Funktioniert im FF, Chromium und Opera. IE hab ich gerade keinen da.


```
function replaceAllText(rx, val) {
	var allElements = document.getElementsByTagName('*');

	for(var i = 0; i < allElements.length; i++) {
		var node = allElements[i].firstChild;
	
		//Is it a text node?
		if(node !== null && node.nodeType === 3) {
			node.nodeValue = node.nodeValue.replace(rx, val);
		}
	}
}

replaceAllText(/bacon/gi, 'MORE BACON');
```

Ersetzt als Beispiel jedes vorkommen von "bacon" durch "MORE BACON".


----------

