Kom væk fra document.write()

Tags:    javascript

<< < 12 > >>
Det lader til at document.write() ikke er så godt at bruge så derfor vil jeg gerne helt væk fra det.

Jeg har følgende kode.
Fold kodeboks ind/udJScript kode 


Funktionen kalder jeg så flere steder på samme HTML side.
Fold kodeboks ind/udHTML kode 


Hvordan laver jeg det om så jeg ikke skal bruge document.write() ?

Skal jeg createtag('<span>') også appendchild eller hvad er bedst/mest simpelt ?



19 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 10 karma
Sorter efter stemmer Sorter efter dato
Drop at skjule din email - Botsne er blevet for stærke. Heldigvis er spam-filtre ligeså stærke, stol hellere på dem.



Hvad er årsagen til, at du har koden liggende i front-end kode? Du kan jo bare skrive den tekst du gerne vil have der hvor du vil have den, hvis den alligevel er statisk.

Er den derimod dynamisk fra en database, så giver det langt mere mening at gøre hvad du gør med et server-side sprog, såsom php/asp(x)/jsp eller hvad du nu roder med.

Hvad er dit behov for at skrive til dokumentet med javascript?



Når du har behov for at skrive til dokumentet, skal du benytte dig af DOM træet og dets metoder (createElement, getElementById, element.childNodes, etc.). Først og fremmest er dette en langt mere struktureret måde at arbejde med dokumentet på og dernæst lader det (i modsætning til document.write kald), browseren lade en masse optimeringer.

Men beskriv din use-case og så kan du måske få nogle bedre og mere specifikke svar :)



Det fordi jeg skal skrive min email adresse fra javascript med tegn som &#345; osv sådan at det er svært for computere at høste min email til spam.

Jeg kunne for eksempel bruge det sådan her...

Fold kodeboks ind/udHTML kode 




Indlæg senest redigeret d. 01.12.2012 18:54 af Bruger #13010
Husk at splitte din email string godt alligevel, selvom du indsætter emailen via javascript. Bots'ne er blevet gode til at finde emailen alligevel ;-)

Fold kodeboks ind/udHTML kode 




Indlæg senest redigeret d. 02.12.2012 00:59 af Bruger #5766
Hvordan ville du splitte den godt ?

Jeg kan ikke bruge id="" fordi jeg skal nogen gange kalde koden flere gange på samme side og id må man kun bruge en gang per side.

Nu prøver jeg denne kode men jeg gætter mig bare frem kan ikke få det til at virke.
Fold kodeboks ind/udJScript kode 




Indlæg senest redigeret d. 02.12.2012 06:14 af Bruger #13010
Det virker nu ret godt syntes jeg. Jeg får ikke særlig meget spam.

Men hvis vi nu tager det fra en frisk.

Hvordan ville i skrive jeres email adresse på jeres hjemmesiden så den ikke er nem at høste for spammere ?



Jamen JavaScript løsningen er da velegnet, men tro ikke at den narre andet end de mest rudimentære email harvesting bots.

Fold kodeboks ind/udHTML kode 




Jeg kan ikke bruge id da jeg skal skrive emailen flere gange på samme side.



Så prøv lidt selv? Findes der måske bedre egnede selectors?

Fold kodeboks ind/udHTML kode 


Og du kunne med fordel abstrahere denne logik ud i en funktion.



<< < 12 > >>
t