Sastavio sam javascript za ono navedeno u naslovu, ali kada pokusam da otvorim neki sajt da ga izvrsim, js radi, ali uz kasnjenje, prvo ucita normalno abc, a tek posle 2-3 sekunde izmeni na ***, a ne izvrsava se pre no sto se web stranica prikaze na ekranu ?
Code: window.addEventListener('load', function (e){
document.body.innerHTML = document.body.innerHTML.replace(/abc/g, '***');
});
jel postoji kod koji to bolje radi ili ovde mora nesto da se koriguje, ... ?
To je tako zato što se tvoja funkcija izvršava tek kada se stranica potpuno učita.
Sakri ceo body što ranije skriptom ili još bolje css-om
a u onoj tvojoj funkciji posle replace-a opet prikaži body.
Pa sad u ovom slučaju u zadnjem postu, kao da malo brže pretvara, do sada je čekao 2-3 sekunde, a sada isto otrvori prvo normalno abc, a posle 1 sekunde pređe u ***. Kao da malo brže, ali ipak kasni.
Ustvari kada je u pitanju prost html kod, u kojem se nalaze samo abc i još nekoliko slova (abc fdsafdasf), onda odmah otvori (" u laboratorijskim " uslovima), a na primer kada hoću da odem na neki sajt sa komplikovanijim html-om , kao npr facebook ili, ... gde ima više podataka (" u terenskim " uslovima) on kasni 1 sekund opet nemože da obradi pre no što se stranica prikaže na ekranu .
Radi mnogo brže, ali ipak kasni .
[Ovu poruku je menjao Nemanja a dana 22.03.2014. u 10:22 GMT+1]
Kako da postavim html, nemam ja svoj html, a hoću da browser (ili već šta) obrađuje (filtrira) podatke koje prima sa drugih sajtova pre no što ih prikaže na ekranu, bez obzira na vrstu html-a.
Tokom pretrage gde god da naleti na abc da pretvori u *** . Ako smo se razumeli, ne znam kakav html tačno treba da postavim.
[Ovu poruku je menjao Nemanja a dana 22.03.2014. u 11:44 GMT+1]
Razumemo svi šta hoćeš da postigneš, nema potrebe da ponavljaš 10 puta jedno te isto.
Pošto dobijaš HTML sa recimo facebook-a, ti u njega "ubacuješ" skript koji uradi replace iz abc u ***.
Pošto ti je ovde rečeno rešenje koje očigledno nisi u stanju da pravilno implementiraš
a mi ne možemo da gledamo u pasulj gde praviš grešku, još jednom te molim da
staviš taj rezultujući HTML koji imaš u browser-u (vidi moj prethodni post) u fiddle ili
ako ne znaš tamo onda ga snimi u neki fajl i okači ovde.