Autor Zpráva
jimass
Profil
Zdravím, může mi někdo prosím poradit, jak nahradím na jedné html stránce jedno slovo druhé? Jde mi o nahrazení všude. V body i headu.

Tohle mi nefunguje:

v index.html
<head>
<script src="replace.js"></script>
</head>

v replace.js

var str = "Visit Microsoft!";
var res = str.replace("Microsoft","W3Schools");

Melo by se nahradit slovo Microsoft za W3Schools.
jimass
Profil
Tak zafungovalo toto:

document.body.innerHTML = document.body.innerHTML.replace(/word/g, 'word1');

Věděl by někdo, jak to aplikovat i na title v headu?
Kcko
Profil
document.title
Chamurappi
Profil
Reaguji na jimasse:
Tím přepíšeš celou existující stránku upravenou stránkou. Elementy, na které jsi před touto náhradou přiřadil skriptem události, zaniknou a místo nich vzniknou nové elementy s podobným obsahem, které už ale tytéž události vyvolávat nebudou. Formulář s vyplněnými <input>y můžou ztratit své hodnoty.
Obecně mi to připadá jako špatný nápad. K čemu to potřebuješ?

W3Schools
Brr…
jimass
Profil
Kcko:
Jestli myslíš takto, tak to mi nefunguje:

document.body.innerHTML = document.body.innerHTML.replace(/word/g, 'word1');
document.title.innerHTML = document.title.innerHTML.replace(/word/g, 'word1');

Chamurappi:
Potřebuju duplikovat stránku na 40 domén a na každé jen změnit určitá slova. Vím, že to není uplně košer, ale můj nápad to nebyl. Jen to vytvářím. Jestli máš jiné řešení, budu rád.
Chamurappi
Profil
Reaguji na jimasse:
Proč to musí dělat zrovna JavaScript? Jaký je účel té duplikace?

Jestli myslíš takto
Myslel opravdu document.title, ne document.title.innerHTML.
jimass
Profil
Chamurappi:
Abych nemusel přepisovat text ručně. Kupříkladu stránka na stejné téma, ale pro jiný region. Čili na celé stránce změním Praha -> Brno. Je to jen příklad, je to trochu složitější. Je to čistě jen na text, žádné elementy. Jen doufám, že po té funkci replace to google dokaže zaindexovat jako nové slovo.
Chamurappi
Profil
Reaguji na jimasse:
Abych nemusel přepisovat text ručně.
Ony neexistují jiné možnosti, než upravit text ručně a nebo v prohlížeči?

Jen doufám, že po té funkci replace to google dokaže zaindexovat jako nové slovo.
Samozřejmě, že ne.
jimass
Profil
Chamurappi:
Ony neexistují jiné možnosti, než upravit text ručně a nebo v prohlížeči?
Očividně i pomocí javascriptu :) Nebo jsou i jiné, lepší způsoby?

Samozřejmě, že ne.
Ne jako že to nedokáže zaindexovat jako nové slovo? Čili je to nesmysl to dělat?
Chamurappi
Profil
Reaguji na jimasse:
Očividně i pomocí javascriptu :)
To jsem říkal: „nebo v prohlížeči“. JavaScript běží v prohlížeči, pokud ho podporuje a má ho zapnutý.

Ne jako že to nedokáže zaindexovat jako nové slovo?
Je obecně známo, že vyhledávače JS nepodporují. Zrovna Google je sice ochotný poslat na významné weby chytřejšího robota, ale to se ti zřejmě nepoštěstí.
Kcko
Profil
jimass:
Tak to nahraď na straně serveru pokud máš tu možnost.

V PHP např. takto

<? ob_start(); ?>

výstup

<? $buffer = ob_get_clean() ?>

<?
$buffer = str_replace("co", "zaco", $buffer); ?>
?>
jimass
Profil
Kcko:
Poradil by si mi prosím, kam přesně tento kód vložit? S php nejsem kamarád. Stránky hostuju na godaddy, tak nevím zda je to možné.

Stránka je pouze jednoduché index.html + css.
Kcko
Profil
jimass:
Stránka je pouze jednoduché index.html + css.
Proto píšu, že to musí být na straně serveru. (PHP)
jimass
Profil
Ok, čili to nacpu do něčeho s koncovkou .php. To chápu, ale jak to propojím s tím html? Omlouvám se, s php nemám zkušenost.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0