27. maj 2010 - 19:16Der er
21 kommentarer og 1 løsning
Forkellige browser
Hej jeg har et problem med et stykke kode hvor browsen gerne skulle finde frem til den rigtige css fil hvis brugeren skulle køre en gammel version af internet explorer håber dette giver mening:
altså probemet er her at den ikke går ind og finder den css fil der hedder: ie6style.css
ElseIf InStr(strHUA, "MSIE 6") Then strUA = "ie6style.css"
uden held
Synes godt om
Slettet bruger
27. maj 2010 - 23:43#3
Peøv med denne her
<% strHUA=lcase(request.servervariables("http_user_agent")) if len(strHUA)<>len(replace(strHUA,"msie","")) then strUA="ie7style.css" elseif len(strHUA)<>len(replace(strHUA,"msie 6","")) then strUA="ie6style.css" else strUA="style.css" end if CSSDetect=strUA %>
Når du i din egen kode sætter den til lcase i strHUA først så skal den jo også sammenlignes med små bogstaver - ellers så finder den ikke noget...
lige ekstra ? hvordan for du de der w3c stadarder på din side?
Synes godt om
Slettet bruger
28. maj 2010 - 01:56#7
ja det kommer lidt an på hvad du mener når du siger w3c standarder... Ethvert html dokument SKAL have en DTD, hvis det er det du tænker på? Men der findes mere end en slags DTD at vælge imellem der er html, xhtml, xml med flere. Og så er der så under hver en for henholdsvis strict og transitional kodning! Men det er ret vigtigt du sætter dig godt ind i det her issue inden du går i gang med din kodning! Og det afhænger jo også af hvilket sprog du beslutter dig for at kode i.
Og sidst men ikke mindst så har dette her intet med asp (eller andre server-side-scriptings) at gøre... \Dan
<% strHUA=lcase(request.servervariables("http_user_agent")) if len(strHUA)<>len(replace(strHUA,"msie","")) then strUA="ie7style.css" elseif len(strHUA)<>len(replace(strHUA,"msie 6","")) then strUA="ie6style.css" else strUA="style.css" end if CSSDetect=strUA %>
<% strHUA=lcase(request.servervariables("http_user_agent")) if len(strHUA)<>len(replace(strHUA,"msie","")) then if len(strHUA)<>len(replace(strHUA,"msie 6","")) then strUA="ie6style.css" else strUA="ie7style.css" end if else strUA="style.css" end if CSSDetect=strUA %>
hej igen Dan ville lige høre om du kunne hjælpe mig igen vil gerne tilføje noget det script du lavde i spørgsmål #12 jeg har prøvet mig frem her men så for jeg denne fejl:
Microsoft VBScript compilation error '800a03ea'
Syntax error
/index.asp, line 31
else ^
her koden som den ser ud nu:
Jeg har lige skrevet line 31 ud for der hvor fejlen opstår
<% strHUA=lcase(request.servervariables("http_user_agent")) if len(strHUA)<>len(replace(strHUA,"msie","")) then if len(strHUA)<>len(replace(strHUA,"msie 6","")) then strUA="ie6style.css" else strUA="ie7style.css" end if else strUA="ie8style.css" end if line 31 else strUA="style.css" end if CSSDetect=strUA %>
Synes godt om
Slettet bruger
09. juni 2010 - 01:31#15
- som jeg ser det så starter du to if-sætninger og afslutter tre... Det vil jeg tro er fejlen...
nu har jeg prøvet at fjerne et af "end if" men den kommer stadig med samme fejl:
her koden som den ser ud nu:
<% strHUA=lcase(request.servervariables("http_user_agent")) if len(strHUA)<>len(replace(strHUA,"msie","")) then if len(strHUA)<>len(replace(strHUA,"msie 6","")) then strUA="ie6style.css" else strUA="ie7style.css" end if else strUA="ie8style.css" end if else strUA="style.css"
CSSDetect=strUA %>
Synes godt om
Slettet bruger
09. juni 2010 - 18:51#17
ok... Man kan sagtens have flere if-sætninger, også som er flettet inden i hinanden... Men det skal afsluttes allesammen. Se her: - og se mine kommentarer i scriptet (kommentarerne referer til linien ovenfor den): <% strHUA=lcase(request.servervariables("http_user_agent") if len(strHUA)<>len(replace(strHUA,"msie","")) then 'Her starter vi en if-sætning. Vi ser efter om strengen strHUA indeholder msie. Denne ifsætning er øverst og tjekkes derfor først. if len(strHUA)<>len(replace(strHUA,"msie 6","")) then 'Hvis den øverste if-sætning er tilfældet så tjekker vi her om strengen også indeholder msie 6. Denne if-sætning er nummer to og tjekkes lige bagefter. strUA="ie6style.css" else 'Hvis strengen indeholder msie men IKKE msie 6 gøres nedenstående. strUA="ie7style.css" end if 'Her aflsutter vi den inderste if-sætning (nummer to). else 'Hvis strengen ikke indeholder msie gøres som nedenfor. strUA="style.css" end if 'Her afslutter vi den yderste if-sætning. %>
Der er ikke nogen fejl i dette her script. Og hvis jeg skal hjælpe dig yderligere bliver du nød til at fortælle hvad det egentlig er du vil? Og det kan vel også være andre ting på sidend er er noget galt med...?
det ser ud til at det køre på den måde, men nu må jeg lige se når jeg kommer på arbejde i morgen. :)
Synes godt om
Slettet bruger
10. juni 2010 - 00:43#21
ok... Jeg skrev bare mit sidste indlæg til dig for at få dig til at forstå en if-særning 100%... Sådan at en fejl som den du havde før ikke gentager sig.
Du har sikkert ret i at det formentlig er en bedre løsning den du har i #20 - det har bare ikke så meget med asp at gøre. Derfor har jeg ikke foreslået dig dette i stedet.
if-sætningerne i asp kan ikke som sådan "mærke" hvilken browser klienten bruger. Den analyserer bare hvad strengen "request.servervariables("http_user_agent")" indeholder og ikke indeholder og handler derud fra.
I øvrigt så må det da godt nok være en meget komplekts css-fil du har siden den skal tilpasse sig så specifikt til hver browser....
Jeg har arbejdet noget med if sætninger og forstår og godt det med at få dem ordenligt lukket nogle gange kan man bare se sig blind på en fejl men jeg burde nok øve mig noget mere på lige det område da det jo ganske vigtigt!
Men du har virkelig været til stor hjælp endnu engang tak :)
Ja jeg skal nok lige have kørt en W3C validators på min CSS fil virker lidt voldsomt at det ikke virker bedre, men det er nu heller ikke meget der skal rettes i CSS filen. for eksempel ser IE8 og den fil der hedder style helt ens ud.
men nu har jeg tjekket siden på arbejde og her virker det også fint nu.
Karsten :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.