/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Hvad fejler dette javascript ?
Fra : David Nielsen


Dato : 21-04-08 03:14

Hej jeg har denne side :
http://mentos.homepage.dk/scooterhjemmeside/scootere.html

Med denne kode (afkortet):

<script type="text/javascript">
if (navigator.appName=="Microsoft Internet Explorer") {
document.write('<div class="uniholder" style="margin-bottom:15px;
margin-top:20px;">');
document.write('<div class="unioverskrift">Få en rigtig
browser</div>');
document.write('</div>');
}
</script>

Jeg prøver at validere den :
http://validator.w3.org/check?uri=http://mentos.homepage.dk/scoot
erhjemmeside/scootere.html

Men den kan ikke valideres når den når til slutningen af den
anden document.write, den siger jeg ikke har afsluttet en tag.

Jeg tror det fordi jeg har brugt javascript til at skrive koden.

Er der iøvrigt nogen der ved hvordan jeg kan skrive en masse
linier i javascript uden at jeg skal bruge document.write for
hver linie ?

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jørgen Sørensen (21-04-2008)
Kommentar
Fra : Jørgen Sørensen


Dato : 21-04-08 07:05

"David Nielsen" <fedblindkat@yahoo.dk> skrev i en meddelelse
news:480bf86e$0$90264$14726298@news.sunsite.dk...
> Er der iøvrigt nogen der ved hvordan jeg kan skrive en masse
> linier i javascript uden at jeg skal bruge document.write for
> hver linie ?

text = "djhgdgæg" +
"lgflfjfjøfjsøføjsf" +
"sdøjøfjfjøfjæf";
document.write(text);

/Jørgen



Birger (21-04-2008)
Kommentar
Fra : Birger


Dato : 21-04-08 08:37

"David Nielsen" <fedblindkat@yahoo.dk> skrev i en meddelelse
news:480bf86e$0$90264$14726298@news.sunsite.dk...
> Hej jeg har denne side :
> http://mentos.homepage.dk/scooterhjemmeside/scootere.html
>
> Med denne kode (afkortet):
>
> <script type="text/javascript">
> if (navigator.appName=="Microsoft Internet Explorer") {
> document.write('<div class="uniholder" style="margin-bottom:15px;
> margin-top:20px;">');
> document.write('<div class="unioverskrift">Få en rigtig
> browser</div>');
> document.write('</div>');
> }
> </script>
>
> Jeg prøver at validere den :
> http://validator.w3.org/check?uri=http://mentos.homepage.dk/scoot
> erhjemmeside/scootere.html
>
> Men den kan ikke valideres når den når til slutningen af den
> anden document.write, den siger jeg ikke har afsluttet en tag.
>
> Jeg tror det fordi jeg har brugt javascript til at skrive koden.
>
> Er der iøvrigt nogen der ved hvordan jeg kan skrive en masse
> linier i javascript uden at jeg skal bruge document.write for
> hver linie ?
>

http://www.w3.org/TR/html4/appendix/notes.html#h-B.3.2.1

Det er ikke den anden document.write, der laver fejlen - det er det først
end-tag i din javascript kode.
Sæt backslash foran slashen i end-tags:

<script type="text/javascript">
if (navigator.appName=="Microsoft Internet Explorer") {
document.write('<div class="uniholder" style="margin-bottom:15px;
margin-top:20px;">');
document.write('<div class="unioverskrift">Få en rigtig
browser<\/div>');
document.write('<\/div>');
}
</script>

enten bruger man + til at kæde linierne sammen - eller også skriver man dem
på een linie.


Birger
-----
http://bbsorensen.dk
http://varmeretter.dk - hverdagsmad. Sundt, nemt, hurtigt og billigt. Daglig
opdatering.



David Nielsen (21-04-2008)
Kommentar
Fra : David Nielsen


Dato : 21-04-08 14:30

Okay tak for de hurtige svar.
Nu virker det. jeg har skrevet det sådan her

var htmlkode = '<div class="uniholder" style="margin-bottom:15px;
margin-top:20px;">' +
'<div class="unioverskrift">Få en rigtig browser<\/div>' +

Brugt ' så jeg undgår og lave mine " om.
Er der en måde hvor på jeg kan undgå at lave / om til \/
Sådan at jeg bare kan tage en lang bid HTML kode og let putte det ind i
javascript og evt tilbage igen uden at man skal til at lave om på html'en ?

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Birger (21-04-2008)
Kommentar
Fra : Birger


Dato : 21-04-08 17:02

"David Nielsen" <fedblindkat@yahoo.dk> skrev i en meddelelse
news:480c96df$0$90274$14726298@news.sunsite.dk...
> Okay tak for de hurtige svar.
> Nu virker det. jeg har skrevet det sådan her
>
> var htmlkode = '<div class="uniholder" style="margin-bottom:15px;
> margin-top:20px;">' +
> '<div class="unioverskrift">Få en rigtig browser<\/div>' +
>
> Brugt ' så jeg undgår og lave mine " om.
> Er der en måde hvor på jeg kan undgå at lave / om til \/
> Sådan at jeg bare kan tage en lang bid HTML kode og let putte det ind i
> javascript og evt tilbage igen uden at man skal til at lave om på html'en
> ?
>


Meget kort er svaret nej.

Lidt mere udførligt, er det fordi SGML parseren der anvendes til HTML,
anerkender end-tags i script (ellers ville den ikke kunne finde ud af
hvornår <script> ender) - som det er forklaret i det link jeg gav tidligere.
Altså kan man ikke bruge afslutnings tag inden for <script> - ikke uden at
escape karakteren /.

Et muligt alternativ, er at faktisk lægges teksten på siden, i f.eks. en div
med et id:
<div id="insult" class="uniholder" style="margin-bottom:15px;
margin-top:20px;">
<div class="unioverskrift">Få en rigtig browser</div>
</div>

og så vise, eller skjule denne div, via dit script :
<script type="text/javascript" defer>
var vis_elem = 'none';
uni_element = document.getElementById( 'insult');
if (navigator.appName=="Microsoft Internet Explorer") { vis_elem =
'block'; }
uni_element.style.display = vis_elem;
</script>

Så er det kun det flertal der bruge IE og ikke har disablet JS, du
fornærmer. Mindretallet vil slet ikke lægge mærke til dine anstrengelser.


Birger
-----
http://bbsorensen.dk
http://varmeretter.dk - hverdagsmad. Sundt, nemt, hurtigt og billigt. Daglig
opdatering.



Lasse Reichstein Nie~ (21-04-2008)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 21-04-08 20:31

David Nielsen <fedblindkat@yahoo.dk> writes:

> Er der en måde hvor på jeg kan undgå at lave / om til \/
> Sådan at jeg bare kan tage en lang bid HTML kode og let putte det ind i
> javascript og evt tilbage igen uden at man skal til at lave om på html'en ?

Put det i en ekstern script-fil.
Problemet er at dit script både skal være et Javascript-program *og*
skal være del af et HTML-dokument. HTML'ens script-element stopper ved
den første "</".
Hvis du har scriptet i en ekstern fil, og indlæser den via
<script type="text/javascript" src="eksternfil.js"></script>
så vil filens indhold ikke skulle bekymre sig om også at være HTML.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Jørgen Farum Jensen (21-04-2008)
Kommentar
Fra : Jørgen Farum Jensen


Dato : 21-04-08 16:48

David Nielsen skrev:
> Hej jeg har denne side :
> http://mentos.homepage.dk/scooterhjemmeside/scootere.html
>
> Med denne kode (afkortet):
>
> <script type="text/javascript">
> if (navigator.appName=="Microsoft Internet Explorer") {
> document.write('<div class="uniholder" style="margin-bottom:15px;
> margin-top:20px;">');
> document.write('<div class="unioverskrift">Få en rigtig
> browser</div>');
> document.write('</div>');
> }
> </script>

Det er ikke en smart måde at gøre det på. Du tester
for om browseren er Internet Explorer for så at
fortælle læseren at hun bør anskaffe sig en
"rigtig browser".

Uanset hvad man kan mene om Internet Explorer
er det altså en "rigtig browser". Hvis du endelig
skal give dine læsere gode råd desangående kunne
du for eksempel foreslå dem at få en /bedre/ browser,
samt inkludere et link til et sted hvorfra man kan
downloade denne "bedre browser".

Beskeden kan meget nem serveres til Internet
Explorer ved at sætte teksten i en betinget
kommentar:

<!--[if IE]>
<div class="uniholder">
<p>Få en bedre browser</p>
</div>
<![endif]-->

Din stylesheet formdeklaration for .uniholder
skal stå i dit stylesheet for websiden.

Mere info om betingede kommentarer her:
http://webdesign101.dk/artikler/conditionalcomments.php

> Jeg tror det fordi jeg har brugt javascript til at skrive koden.
>
> Er der iøvrigt nogen der ved hvordan jeg kan skrive en masse
> linier i javascript uden at jeg skal bruge document.write for
> hver linie ?
>

Man kunne finde på at spørge hvorfor du vil
skrive en masse linjer med JavaScript
document.write? Hvorfor ikke som almindelig
HTML-tekst?

Vær opmærksom på at HTML-elementer, tekst
og billeder indsat ved hjælp af JavaScript
ikke er tilgængelige for browsere med
manglende eller mangelfuld JavaScript for-
tolkning. Jeg nævner i flæng skærmlæsere,
mobiltelefoner og ikke mindst søgerobotter,
der er total JavaScript-lamme.

Med hensyn til din sides indhold savner jeg i
den grad en eller anden nøgle til at vurdere
de mange forskellige scootere i forhold til
hianden - for eksempel fortæller du at
nogle er godkendt(?) til 30 km/timen andre
til 45 km/timen. Hvilke? Et tooltip ved
hver billede med plusser og minusser for
hver model, pris eller hvad der nu ellers
er interessant?

Hvordan du laver dine egne tooltips kan
du læse om her:
http://webdesign101.dk/showcase/visogskjul/index.php

Hvordan du viser og skjuler en del
div med noget tekstindhold er forkaret her:
http://webdesign101.dk/javascript/visogskjul.php


--

Med venlig hilsen
Jørgen Farum Jensen
Håndbog i webdesign: http://webdesign101.dk/wwwbog/udgave2/
Webdesign med stylesheets: http://webdesign101.dk/cssbog/
..

David Nielsen (22-04-2008)
Kommentar
Fra : David Nielsen


Dato : 22-04-08 16:13

Det var en ordentligt mundfuld godt der nogen der gider skrive en
masse.

Det med at fortælle brugeren at de skulle få sig en ordentligt browser
og ik andet det var bare fordi jeg have afkortet koden den fulde kode
er her :

<script type="text/javascript">
if (navigator.appName=="Microsoft Internet Explorer") {
var htmlkode = '<div class="uniholder" style="margin-bottom:15px;
margin-top:20px;">' +
'<div class="unioverskrift">Få en rigtig browser<\/div>' +
'<div style="padding:5px; text-align:center;"><img
src="billeder\/ie.gif" alt="ie med kryds over"><\/div>' +
'<div style="padding:5px;">Hvis du kun kender til Internet Explorer
så vær god ved dig selv og prøv en anden browser<\/div>' +
'<div style="text-align:center; padding:5px;"><a
href="http:\/\/www.opera.com\/download">
src="billeder\/downloadopera.gif" alt="Opera browser download
logo"><\/a><\/div>' +
'<div style="padding:5px;">10 grunde til at vælge Opera browseren
:<\/div>' +
'<div style="padding:5px;
text-align:center">________________<\/div>' +
'<div style="padding:5px; font-size:x-small;">1 : Den fortæller dig
ikke du er en idiot hver gang du bruger den<\/div>' +
'<div style="padding:5px; font-size:x-small;">2 : Den har
kvikknapper, når du prøver dem så tænker du sikkert DOH hvorfor er ik
nogen der har fundet på det noget før<\/div>' +
'<div style="padding:5px; font-size:x-small;">3 : Du kan zoome ind
og ud på den smarte måde f.eks med + og - knapperne<\/div>' +
'<div style="padding:5px; font-size:x-small;">4 : Du kan let
blokere f.eks reklamer ved klik på højre musknap, så kan du endelig
slippe af med de flash reklamer der kører i loop<\/div>' +
'<div style="padding:5px; font-size:x-small;">5 : Slip af med
beskeder som "De nuværende sikkerhedsindstillinger udsætter computeren
for risiko"<\/div>' +
'<div style="padding:5px; font-size:x-small;">6 : Du slipper for
IEs HTML fejl<\/div>' +
'<div style="padding:5px; font-size:x-small;">7 : Du slipper for
IEs CSS fejl<\/div>' +
'<div style="padding:5px; font-size:x-small;">8 : Du kan snakke med
din browser... Ja hold Scroll Lock nede og sig "opera reload", ja det
virker godt nok afhelvede til men det da meget sjovt når det
virker<\/div>' +
'<div style="padding:5px; font-size:x-small;">9 : Internet Explorer
er sjældent et valgt. Det er Opera for det meste.<\/div>' +
'<div style="padding:5px; font-size:x-small;">10 : Jeg syns den er
super<\/div>' +
'<div style="padding:5px; font-size:x-small;">11 : Du kan W3C
validere en side ved at højreklikke<\/div>' +
'<div style="padding:5px; font-size:x-small;">12 : Du kan nøjes med
kun at reload billederne på siden ved at trykke på "i" knappen<\/div>'
+
'<div style="padding:5px; font-size:x-small;">13 : Du kan hente
noget som kaldes skærmbrikker, det kan være alle mulige programmer,
f.eks har jeg et akvarie med nogen fisk jeg skal passe det da meget
sjov<\/div>' +
'<div style="padding:5px;">Hov der kan man bare se det svært kun at
skulle fortælle 10 grunde til at vælge Opera browseren men prøv selv
og se hvad du syns<\/div>' +
'<div style="text-align:center; padding:5px;"><a
href="http:\/\/
www.opera.com\/download">
src="billeder\/downloadopera.gif" alt="Opera browser download
logo"><\/a><\/div>' +
'<\/div>';
document.write(htmlkode);
}
</script>

Den var rimelig lang så skrev ikke det hele sidst.

<!--[if IE]> er måske smartere den havde jeg ikke tænkt på men nogen
der ved i hvilken versioner <!--[if IE]> virker ?



Grunden til jeg vil skrive en masse linier med javascript er at det
vil jeg gerne kunne også ville det være smart hvis man kunne gøre det
uden at skulle lave om på koden. nu er det godt nok kun </div> der
skal laves om til <\/div> men det ville da være bedre hvis man kunne
undgå det.

Hvis man bruger Opera mini på sin mobiltelefon så virker javascript.

Det med hvilken scootere som er godkendt til 30 eller 45 så mener du
at man skal kunne se det på forsiden ik ?
Det var da en meget god ide så man ikke behøver åbne hver side for at
se det.
Så må jeg lige lave sådan et tooltip eller noget med de mest vigtige
infos.



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! =>
http://www.html.dk/tutorials

Jørgen Farum Jensen (22-04-2008)
Kommentar
Fra : Jørgen Farum Jensen


Dato : 22-04-08 16:42

David Nielsen skrev:

> Det med at fortælle brugeren at de skulle få sig en ordentligt browser
> og ik andet det var bare fordi jeg have afkortet koden den fulde kode
> er her :
>

Det kan du godt spare dig, jeg tvivler på at
nogen vil gennemgå hele den smøre.

Og det er da helt i skoven at sætte sådan noget
ind på en side for at reklamere for en browser.
Din side skal vel handle om scootere og ikke
om hvaffen browser der er god eller dårlig
i dine øjne.

> <!--[if IE]> er måske smartere den havde jeg ikke tænkt på men nogen
> der ved i hvilken versioner <!--[if IE]> virker ?
>

Det skulle vel fremgå af artiklen
http://webdesign101.dk/artikler/conditionalcomments.php

Men det korte svar er at det virker i alle browsere,
ikke bare i IE. Og det lidt længere svar er
at du kan styre, hvilke versioner af IE, der
skal læse hvillen kode.
>
> Grunden til jeg vil skrive en masse linier med javascript er at det
> vil jeg gerne kunne også ville det være smart hvis man kunne gøre det
> uden at skulle lave om på koden. nu er det godt nok kun </div> der
> skal laves om til <\/div> men det ville da være bedre hvis man kunne
> undgå det.

Jeg kan ikke se nogensomhelst grund til at noget
helt regulær HTML-kode skal sættes ind med JavaScript.
Jeg kan heller se nogen grund til at for eksempel
Safari brugere eller Firefox brugere ikke skal have
at vide at du er vældig glad for Opera, men lad det
nu være ...
> Hvis man bruger Opera mini på sin mobiltelefon så virker javascript.


Og?
> Det med hvilken scootere som er godkendt til 30 eller 45 så mener du
> at man skal kunne se det på forsiden ik ?

Det bar nu bare et eksempel. Din side fungerer
bare ikke, der er en masse billeder af nogle scootere.
Gør mig dog interesseret i hvad det handler om.

Websmedens første bud: Hvis du ikke har
noget på hjerte, så lad være med at lave en
hjemmeside.

--

Med venlig hilsen
Jørgen Farum Jensen
Håndbog i webdesign: http://webdesign101.dk/wwwbog/udgave2/
Webdesign med stylesheets: http://webdesign101.dk/cssbog/
..

Henrik Stidsen (21-04-2008)
Kommentar
Fra : Henrik Stidsen


Dato : 21-04-08 18:41

David Nielsen <fedblindkat@yahoo.dk> wrote in
news:480bf86e$0$90264$14726298@news.sunsite.dk:

> <script type="text/javascript">
> if (navigator.appName=="Microsoft Internet Explorer") {
> document.write('<div class="uniholder" style="margin-bottom:15px;
> margin-top:20px;">');
> document.write('<div class="unioverskrift">Få en rigtig
> browser</div>');
> document.write('</div>');
> }
> </script>

Hvis du skal udskrive HTML med JavaScript bør du kigge på
document.createElement(); og "gøre det rigtigt" ;)

--
Henrik Stidsen - http://henrikstidsen.dk/
http://fuglemarkedet.dk/ - Danmarks online fuglemarked!

David Nielsen (22-04-2008)
Kommentar
Fra : David Nielsen


Dato : 22-04-08 17:04

> Hvis du skal udskrive HTML med JavaScript bør du kigge på
> document.createElement(); og "gøre det rigtigt" ;)

Okay jeg prøvede et eksempel jeg fandt men jeg kunne ikke få det til
at virke men tak jeg må lige se om jeg kan finde ud af det.

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409076
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste