/ 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
Noscript og META
Fra : Kim Ludvigsen


Dato : 26-11-03 23:56

Jeg troede, jeg var smart at smide en
<meta http-equiv='refresh' content='0; url=alternativ.htm'>
ind i en noscript i headeren. Det virkder da også fint nok i de
browsere, jeg har prøvet, men det resulterer i tre fejl, når jeg vil
validere.
Jeg får at vide, at elementet META ikke er tilladt her, og placeringen
fremtvinger åbenbart en "indsættelse" af en ekstra </head> og <body>,
for jeg får at vide, at min </head> er et end tag for et element, der
ikke er åbent, og at <body> ikke er tilladt her.

Fjerner jeg noscripten er der ingen fejl. Nogen der har en forklaring og
en løsning, så jeg kan smide browsere uden Javascript videre til
alternativsiden?

X-postet til dk.edb.internet.webdesign.html og
dk.edb.internet.webdesign.clientside med FUT til
dk.edb.internet.webdesign.html.

--
Mvh. Kim Ludvigsen

 
 
Knud Gert Ellentoft (27-11-2003)
Kommentar
Fra : Knud Gert Ellentoft


Dato : 27-11-03 00:35

Kim Ludvigsen <usenet@kimludvigsen.dk> skrev :

>Jeg troede, jeg var smart at smide en
><meta http-equiv='refresh' content='0; url=alternativ.htm'>
>ind i en noscript i headeren. Det virkder da også fint nok i de
>browsere, jeg har prøvet, men det resulterer i tre fejl, når jeg vil
>validere.

Metatags skal ikke stå i et <noscript> og vil stille siden videre
uanset om javascript er enabled eller ej og skal være i <head>

Så med metatag-viderestilling er det ikke nødvendigt med noget
script til viderestilling.

Men der bør være et link på siden, som man kan klikke på, hvis
viderestillingen skulle svigte.

Men ellers giv et link til siden og det ville være uendelig meget
nemmere at svare.
--
Knud

Kim Ludvigsen (27-11-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 27-11-03 01:32

Knud Gert Ellentoft wrote:
>
> Kim Ludvigsen <usenet@kimludvigsen.dk> skrev :
>
> >Jeg troede, jeg var smart at smide en
> ><meta http-equiv='refresh' content='0; url=alternativ.htm'>
> >ind i en noscript i headeren.
>
> Metatags skal ikke stå i et <noscript> og vil stille siden videre
> uanset om javascript er enabled eller ej og skal være i <head>

Jeg havde såmænd også placeret noscriptet i head - det var det som
validatoren ikke kunne lide. Det virker faktisk fint, er Javascript
slået til, bliver man ikke stillet videre. Men validatoren...

> Så med metatag-viderestilling er det ikke nødvendigt med noget
> script til viderestilling.

Problemet er, at det kun er brugere uden Javascript, der skal stilles
videre. Og det skulle gerne ske transparent for brugeren.

> Men ellers giv et link til siden og det ville være uendelig meget
> nemmere at svare.

Det kan jeg desværre ikke gøre, da det er et work in progress, som jeg
ikke må offentliggøre. Hvis du gider at se på den, kan jeg evt. sende
dig et link i en mail (jeg går ud fra, at jeg i så fald bare skal
udskifte invalid med dk?).

--
Mvh. Kim Ludvigsen

Knud Gert Ellentoft (27-11-2003)
Kommentar
Fra : Knud Gert Ellentoft


Dato : 27-11-03 02:09

Kim Ludvigsen <usenet@kimludvigsen.dk> skrev :

>Det kan jeg desværre ikke gøre, da det er et work in progress, som jeg
>ikke må offentliggøre. Hvis du gider at se på den, kan jeg evt. sende
>dig et link i en mail (jeg går ud fra, at jeg i så fald bare skal
>udskifte invalid med dk?).

Du kunne uploade en testside eller i det mindste uploade koden i
<head>, du kan jo bare rette stien til noget andet.

Det væsentlige er, at metatag ikke må være i <noscript>

Forkert:

<head>
<noscript>
<meta http-equiv='refresh' content='0; url=alternativ.htm'>
</noscript>
</head>

Rigtigt:

<head>
<meta http-equiv='refresh' content='0; url=alternativ.htm'>
</head>

Og så behøver du ikke noget javascript til viderestilling, det
vil virke i mindst 99 % af alle browsere.

Så slet javascriptet.

Brug et manuelt link for at få de sidste meget få, hvis nogen,
med.

> Hvis du gider at se på den, kan jeg evt. sende
>dig et link i en mail

Nej tak, spørgsmål stilles i nyhedsgrupper og besvares samme
sted.
--
Knud

Kim Ludvigsen (27-11-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 27-11-03 02:39

Knud Gert Ellentoft wrote:
>
> Kim Ludvigsen <usenet@kimludvigsen.dk> skrev :
>
> >Det kan jeg desværre ikke gøre, da det er et work in progress, som jeg
> >ikke må offentliggøre.
>
> Du kunne uploade en testside eller i det mindste uploade koden i
> <head>, du kan jo bare rette stien til noget andet.

Jeg prøver lige at lave en testside i morgen.

> Det væsentlige er, at metatag ikke må være i <noscript>

Ja, det har jeg sådan set forstået. Lidt irriterende, at det
tilsyneladende virker, men ikke kan valideres. Men jeg har så brug for
en alternativ måde at gøre det på.

> Rigtigt:
>
> <head>
> <meta http-equiv='refresh' content='0; url=alternativ.htm'>
> </head>

Og den kan jeg desværre ikke bruge - det er kun dem uden understøttelse
for Javascript, der skal sendes videre. De andre skal have vist den
aktuelle side.

--
Mvh. Kim Ludvigsen

Knud Gert Ellentoft (27-11-2003)
Kommentar
Fra : Knud Gert Ellentoft


Dato : 27-11-03 03:40

Kim Ludvigsen <usenet@kimludvigsen.dk> skrev :

>Og den kan jeg desværre ikke bruge - det er kun dem uden understøttelse
>for Javascript, der skal sendes videre. De andre skal have vist den
>aktuelle side.

Hvad med omvendt?

Kunne det ikke bruges?

Det ville være meget nemmere.
--
Knud

Jens Peter Karlsen (27-11-2003)
Kommentar
Fra : Jens Peter Karlsen


Dato : 27-11-03 04:50

Du tænker forkert. Smid JavaScript enablede browsere over på en anden
side med javascript og lad dem uden blive på siden.

Regards Jens Peter Karlsen. Microsoft MVP - Frontpage.

On Wed, 26 Nov 2003 23:55:36 +0100, Kim Ludvigsen
<usenet@kimludvigsen.dk> wrote:

>Fjerner jeg noscripten er der ingen fejl. Nogen der har en forklaring og
>en løsning, så jeg kan smide browsere uden Javascript videre til
>alternativsiden?


Benny Nissen (27-11-2003)
Kommentar
Fra : Benny Nissen


Dato : 27-11-03 09:05


"Kim Ludvigsen" <usenet@kimludvigsen.dk> wrote in message
news:3FC52F68.3875@kimludvigsen.dk...
> Fjerner jeg noscripten er der ingen fejl. Nogen der har en forklaring og
> en løsning, så jeg kan smide browsere uden Javascript videre til
> alternativsiden?

Nej, men det omvendte.
Lad Javascript rediredte til en side for dem med javascript, og lad briwsere
uden javascript blive på den nuværende side.

--
Benny



Martin Hintzmann And~ (27-11-2003)
Kommentar
Fra : Martin Hintzmann And~


Dato : 27-11-03 09:31

Kim Ludvigsen wrote:

> Jeg troede, jeg var smart at smide en
> <meta http-equiv='refresh' content='0; url=alternativ.htm'>
> ind i en noscript i headeren. Det virkder da også fint nok i de
> browsere, jeg har prøvet, men det resulterer i tre fejl, når jeg vil
> validere.
> Jeg får at vide, at elementet META ikke er tilladt her, og placeringen
> fremtvinger åbenbart en "indsættelse" af en ekstra </head> og <body>,
> for jeg får at vide, at min </head> er et end tag for et element, der
> ikke er åbent, og at <body> ikke er tilladt her.
>
> Fjerner jeg noscripten er der ingen fejl. Nogen der har en forklaring og
> en løsning, så jeg kan smide browsere uden Javascript videre til
> alternativsiden?
>

Et spørgsmål der slår mig er:

Hvorfor vil du redirecte browsere uden javascript til en alternativside ?
Er det ikke mere tidskrævende at vedligeholde 2 sider ?

Hvis du opfatter javascript ligesom css, som et lag der bliver lagt oven på HTML-koden, så
behøver du ikke 2 versioner af din hjemmeside.

Du skal bare sørge for at din javascript-kode nedgradere pænt, dvs. benyt HTML-koden som
data-bærer og javascript som et ekstra lag med nice-features.

Hvis det drejer sig om form validering kan du kombinere clientside-og serverside validering.

Til navigering kan du f.eks. benytte dig at mhaList:
http://users.cybercity.dk/~dsl58854/articles/mhaList/readme.html

Det 13th parallel har også en artikel om hvordan man opbygger hjemmesider så de nedgradere pænt.
http://www.13thparallel.org/?issue=2002.02&title=seperating_structure

Så i stedet for at flytte dine bruger, så løft din kode op så den nedgradere pænt.

Hintzmann c",)



Kim Ludvigsen (27-11-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 27-11-03 11:10

Martin Hintzmann Andersen wrote:
>
> Hvorfor vil du redirecte browsere uden javascript til en alternativside ?
> Er det ikke mere tidskrævende at vedligeholde 2 sider ?

Helt klart. Og kundegruppen bruger endda med 99,9 procents sikkerhed den
nyeste IE. Men jeg ville skamme mig over at lave et site, der kun kan
ses i én browser, så derfor. Desuden er det ikke så slemt, det er et
meget statisk site.

> Hvis du opfatter javascript ligesom css, som et lag der bliver lagt oven på HTML-koden, så
> behøver du ikke 2 versioner af din hjemmeside.

Det er ikke kun Javascript-løse, der skal have et alternativ, de
CSS-løse og dem med forkert understøttelse af CSS skal også.

> Så i stedet for at flytte dine bruger, så løft din kode op så den nedgradere pænt.

Sitet er stort set færdigt med undtagelse af den nævnte valideringsfejl,
jeg ville efterfølgende så lige gøre det mere browseruafhængigt - mest
for min egen skyld. Men jeg vil ikke kode det hele om for min egen
skyld. Jeg vil lige eksperimentere med at jage Javascriptbrugerne/de
CSS-heldige over på en anden side og så beholde de andre på
indgangssiden.

Tak til jer alle.

--
Mvh. Kim Ludvigsen

Jens Gyldenkærne Cla~ (27-11-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 27-11-03 12:36

Kim Ludvigsen skrev:

>> Hvorfor vil du redirecte browsere uden javascript til en
>> alternativside ? Er det ikke mere tidskrævende at
>> vedligeholde 2 sider ?
>
> Helt klart. Og kundegruppen bruger endda med 99,9 procents
> sikkerhed den nyeste IE. Men jeg ville skamme mig over at lave
> et site, der kun kan ses i én browser, så derfor.

Jeg tror du misser Martins pointe - i stedet for at lave to sider
(en til javascript-browsere og en til resten), kan man lave én side
der nedgraderer pænt og dermed fungerer både med og uden
javascript.


> Det er ikke kun Javascript-løse, der skal have et alternativ,
> de CSS-løse og dem med forkert understøttelse af CSS skal
> også.

Og det hele kan klares på én side hvis man lave kode der
nedgraderer fornuftigt.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Kim Ludvigsen (27-11-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 27-11-03 13:22

Jens Gyldenkærne Clausen wrote:
>
> Kim Ludvigsen skrev:
>
> > Helt klart. Og kundegruppen bruger endda med 99,9 procents
> > sikkerhed den nyeste IE. Men jeg ville skamme mig over at lave
> > et site, der kun kan ses i én browser, så derfor.
>
> Jeg tror du misser Martins pointe - i stedet for at lave to sider
> (en til javascript-browsere og en til resten), kan man lave én side
> der nedgraderer pænt og dermed fungerer både med og uden
> javascript.

Nej, jeg fik fat i pointen, men som nævnt er sitet stort set færdigt*,
og jeg vil ikke lave det hele om bare for min egen skyld, så er det
lettere at tilføje lidt redirect. Men det er helt klart noget, jeg vil
være opmærksom på til næste gang.

*Aargh! Lige et nyt valideringsproblem, men det er Javascript, så jeg
hopper lige over i clientside med en beskrivelse.

--
Mvh. Kim Ludvigsen

Kim Ludvigsen (27-11-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 27-11-03 15:10

Kim Ludvigsen wrote:
>
> Jeg vil lige eksperimentere med at jage Javascriptbrugerne/de
> CSS-heldige over på en anden side og så beholde de andre på
> indgangssiden.

Den går så ikke alligevel. Selvom jeg har sat content til 0, så går der
alligevel så lang tid, at den forkerte side vises først. Det gør ikke så
meget, at den rigtige side vises i et kort glimt før der skiftes til
nød-siden, men det omvendte er desværre ikke acceptabelt.

Er der nogen måde at lave en automatisk redirect i et <noscript>?

--
Mvh. Kim Ludvigsen

Jens Peter Karlsen (27-11-2003)
Kommentar
Fra : Jens Peter Karlsen


Dato : 27-11-03 18:56

Husk at placere redirect scriptet i headeren så det udføres inden
siden loader.

Dette burde gøre det:

<script type="text/javascript">
document.location.replace("someurl")
</script>

Hvad bruger du content til?

Regards Jens Peter Karlsen. Microsoft MVP - Frontpage.

On Thu, 27 Nov 2003 15:10:10 +0100, Kim Ludvigsen
<usenet@kimludvigsen.dk> wrote:

>Den går så ikke alligevel. Selvom jeg har sat content til 0, så går der
>alligevel så lang tid, at den forkerte side vises først. Det gør ikke så
>meget, at den rigtige side vises i et kort glimt før der skiftes til
>nød-siden, men det omvendte er desværre ikke acceptabelt.


Kim Ludvigsen (27-11-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 27-11-03 19:20

Jens Peter Karlsen wrote:
>
> Dette burde gøre det:
>
> <script type="text/javascript">
> document.location.replace("someurl")
> </script>
>
> Hvad bruger du content til?

Jeg prøvede med:
<meta http-equiv='refresh' content='0; url="'>http://adresse.htm'>"

Jeg har ikke styr på Javascript, og kendte ikke ovenstående, som jeg
lige vil prøve om er hurtigere.

--
Mvh. Kim Ludvigsen

Kim Ludvigsen (27-11-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 27-11-03 22:04

Kim Ludvigsen wrote:
>
> Jens Peter Karlsen wrote:
> >
> > <script type="text/javascript">
> > document.location.replace("someurl")
> > </script>
>
> Jeg har ikke styr på Javascript, og kendte ikke ovenstående, som jeg
> lige vil prøve om er hurtigere.

Den er købt!

--
Mvh. Kim Ludvigsen


Jesper Brunholm (28-11-2003)
Kommentar
Fra : Jesper Brunholm


Dato : 28-11-03 10:09

Kim Ludvigsen wrote:

> Jens Peter Karlsen wrote:
>>document.location.replace("someurl")

> Jeg har ikke styr på Javascript, og kendte ikke ovenstående, som jeg
> lige vil prøve om er hurtigere.

Jamen dog, mand - det troede vi da du havde i <script> når du ævler om
<noscript> .

Jeg behøver ikke at gentage at en online-problem-demo så havde givet dig
bedre hjælp for _meget_ længe siden vel?

mvh

Jesper Brunholm


Kim Ludvigsen (28-11-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 28-11-03 11:27

Jesper Brunholm wrote:
>
> Jamen dog, mand - det troede vi da du havde i <script> når du ævler om
> <noscript> .

Mit kendskab til Javascript begrænser sig til: Se, hvad andre har lavet,
tilpas det med at prøve at ændre én ting ad gangen, indtil det virker -
evt. blandet sammen med noget du kender fra andre sammenhænge (som
f.eks. opfrisknings-meta'en).

Det kunne være, jeg en dag skulle bruge lidt tid på at prøve at lære det
rigtigt - det er sikkert hurtigere i det lange løb, selvom det er
sjældent, jeg roder med den slags.

> Jeg behøver ikke at gentage at en online-problem-demo så havde givet dig
> bedre hjælp for _meget_ længe siden vel?

Næh, men der var jeg begrænset af et forbud mod at offentliggøre sitet,
og jeg troede ikke min fejl var så grundlæggende, så jeg havde ikke
tænkt på at lave en test-side uden indhold. Men nu ser det hele ud til
at fungere perfekt, så I skal alle have tak for hjælpen.

--
Mvh. Kim Ludvigsen

Morten Nørgaard (28-11-2003)
Kommentar
Fra : Morten Nørgaard


Dato : 28-11-03 11:49


"Kim Ludvigsen" <usenet@kimludvigsen.dk> skrev i en meddelelse
news:3FC52F68.3875@kimludvigsen.dk...
> Jeg troede, jeg var smart at smide en
> <meta http-equiv='refresh' content='0; url=alternativ.htm'>
> ind i en noscript i headeren. Det virkder da også fint nok i de
> browsere, jeg har prøvet, men det resulterer i tre fejl, når jeg vil
> validere.
> Jeg får at vide, at elementet META ikke er tilladt her, og placeringen
> fremtvinger åbenbart en "indsættelse" af en ekstra </head> og <body>,
> for jeg får at vide, at min </head> er et end tag for et element, der
> ikke er åbent, og at <body> ikke er tilladt her.
>
> Fjerner jeg noscripten er der ingen fejl. Nogen der har en forklaring og
> en løsning, så jeg kan smide browsere uden Javascript videre til
> alternativsiden?

Muligvis en alternativ løsning: Jeg plejer at lave min index.htm til en
script-test side, der så henfører til den regulære side hvis scripting er
slået til. Dvs.

<script>
// hvis scripting er slået til, gå til den regulære side, ...
location.href = "den regulære side";
</script>

<div>
<!-- ... ellers skrive fejlmedd. -->
Scripting er ikke slået til.
</div>

Hvis scripting ikke er slået til, vil der selvfølgelig ikke blive skiftet
side. Så kan du bare skrive en passende fejltekst længere nede på siden.


/Morten



--
Morten Nørgaard
A.D. Jørgensensvej 73, 2. tv.
2000 Frederiksberg
Homepage: https://www.e-report.dk/mno/homepage

> X-postet til dk.edb.internet.webdesign.html og
> dk.edb.internet.webdesign.clientside med FUT til
> dk.edb.internet.webdesign.html.
>
> --
> Mvh. Kim Ludvigsen



Kim Ludvigsen (28-11-2003)
Kommentar
Fra : Kim Ludvigsen


Dato : 28-11-03 12:16

Morten Nørgaard wrote:
>
>
> Muligvis en alternativ løsning: Jeg plejer at lave min index.htm til en
> script-test side, der så henfører til den regulære side hvis scripting er
> slået til. Dvs.

Det er den løsning jeg er endt med (efter råd i denne og
clientside-gruppen).

Brugere uden Javascript, IE4- og Netscape4-brugere og Mac IE-brugere
(CSS-problemer) får den aktuelle side, som er en nødudgave af sitet,
mens alle andre dirigeres over på det rigtige site. Tjekket laves på
alle sider, så det også virker, selvom man går direkte ind på en
underside.

Men lige et ekstra spørgsmål. Jeg har navngivet de to udgaver med samme
filnavne men med henholdsvis .html (nødsiden) og .htm for
Javascript/CSS-siden. Grunden er, at jeg ikke ønsker dumme filnavne som
f.eks. ny-index.html i URL'en. Kan der være uhensigtsmæssigheder i den
navngivning? Serveren henter automatisk index.html, hvis et filnavn ikke
er angivet.

--
Mvh. Kim Ludvigsen

nufan (28-11-2003)
Kommentar
Fra : nufan


Dato : 28-11-03 15:09

Kim Ludvigsen wrote:

> Men lige et ekstra spørgsmål. Jeg har navngivet de to udgaver med samme
> filnavne men med henholdsvis .html (nødsiden) og .htm for
> Javascript/CSS-siden. Grunden er, at jeg ikke ønsker dumme filnavne som
> f.eks. ny-index.html i URL'en. Kan der være uhensigtsmæssigheder i den
> navngivning? Serveren henter automatisk index.html, hvis et filnavn ikke
> er angivet.

Det kommer an på hvordan webserveren er sat op

ISS6 har en prioriteret rækkefølge der hedder:
1) default.htm
2) default.asp
3) index.htm

Dvs. index.html vil den slet ikke loade :)

Men som sagt, det afhænger af hvordan webserveren er sat op

Enjoy
/Thomas



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408526
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste