Avatar billede patrickbateman Nybegynder
16. januar 2002 - 20:08 Der er 22 kommentarer og
1 løsning

Browsercheck -> Vælg CSS

Er det muligt først at lave et browser check for derefter at loade den css fil som passer til browseren ??

På min side http://www.patrick-bateman.dk står texten i boxen i midten og pilene ikke korrekt i Netscape og Opera (men de er fine i IE), så derfor ville det være fedt hvis man kunne bruge et andet CSS hvis det var muligt.
Avatar billede nikolajdu Nybegynder
17. januar 2002 - 11:53 #1
<head>
<Script>

ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
ie5 =(document.getElementById)? true:false
ns6 = (document.getElementById && !document.all)?true:false;

if (ns6||ns4){
document.write(\'<LINK REL=\"StyleSheet\" HREF=\"css/myNS.css\" type=\"text/css\">\')
}else if (ie4||ie5){
document.write(\'<LINK REL=\"StyleSheet\" HREF=\"css/myIE.css\" type=\"text/css\">\')
}

</script>
</head>

/Nikolaj
Avatar billede patrickbateman Nybegynder
17. januar 2002 - 12:49 #2
Kan du putte Opera check ind i også ?
Avatar billede nikolajdu Nybegynder
17. januar 2002 - 13:19 #3
Opera understøtter alle 3 tjeck, så det er i og for sig bare at skrive:

opera = (document.getElementById && document.all && document.layers)?true:false;

og så

if (ns6||ns4){
document.write(\'<LINK REL=\"StyleSheet\" HREF=\"css/myNS.css\" type=\"text/css\">\')
}else if (ie4||ie5){
document.write(\'<LINK REL=\"StyleSheet\" HREF=\"css/myIE.css\" type=\"text/css\">\')
}else if(opera){
document.write(\'<LINK REL=\"StyleSheet\" HREF=\"css/myOpera.css\"
}

/Nikolaj
Avatar billede patrickbateman Nybegynder
17. januar 2002 - 13:23 #4
Tak, jeg prøver det i aften når jeg kommer hjem !
Avatar billede nikolajdu Nybegynder
17. januar 2002 - 13:27 #5
fino fino :))
Avatar billede pelkjaer Nybegynder
17. januar 2002 - 13:35 #6
et alternativ :)

<head>
<link rel=stylesheet href=\"functions/ns4styles.css\" type=\"text/css\">
<script>
function StyleLoader(tS) {
var tH=\'\',tDoc=\'\',tA=\'<LIN\'+\'K REL=\"stylesheet\" HREF=\',tB=\' TYPE=\"text/css\">\';
if(document.getElementsByTagName){var bb=document.getElementsByTagName(\"LINK\");
if(bb) {for(var k=0;k<bb.length;k++){if(bb[k].rel.toLowerCase()==\"stylesheet\"){
var h=bb[k].href,x=h.lastIndexOf(\"/\");if(x>0){tH=h.substring(0,x+1);}
bb[k].disabled=true;tDoc=tA+\'\"\'+ tH + tS + \'\"\' +tB;
document.write(tDoc);break;}}}}
}
StyleLoader(\'../functions/iemozillastyles.css\');
</script>
</head>
Avatar billede patrickbateman Nybegynder
17. januar 2002 - 13:39 #7
pelkjaer -> Jeg kan ikke helt gennemskue hvad der sker i dit script. Kan du foreklare det en smule ?
Avatar billede pelkjaer Nybegynder
17. januar 2002 - 13:44 #8
tjo..

Normalt så virker IE, Opera og NS 6 på samme stylesheet (dog ikke i dit tilfælde - så jeg gætter på at dit stylesheet kan laves bedre) - men NS 4 gør ikke.
Scriptet gør blot at IE, NS 6 og Opera læser \"iemozillastyles.css\" og NS 4 \"ns4styles.css\".

Det er da muligt at Niko\'s er bedre i dit tilfælde - dog burde din css virker i de 3 nævnte browsere.
Avatar billede patrickbateman Nybegynder
17. januar 2002 - 13:50 #9
Her er min main.css fil ->


a    {
    font-family:verdana,arial,helvetica,sans-serif;
    font-size:9px;
    color:#000000;
    text-decoration:none;
    font-weight:bold;
    font-style:italic;
}


a:hover {
    font-weight:bold;
    color:#cccccc;
   
}


body    {
    background-color:#ffffff;
    color:#000000;
    font-size:9px;
    font-family:verdana,arial,helvetica,sans-serif;
}


#divScroller1 {
    position:absolute;
    overflow:hidden;
    z-index:9;
    left:280px;
    top:104px;
    width:375px;
    height:254px;
    clip:rect(0px, 375px, 255px, 0px);
    visbility:visible;
    border-width:0px 0px 0px 1px;
    border-color:#666666;
}


.dynPage {
    position:absolute;
    z-index:10;
    left:0px;
    top:0px;
    width:375px;
    visibility:hidden;
    padding-left:15px;
    font-family:verdana,arial,helvetica,sans-serif;
    font-weight:bold;
    text-align:center;
    font-size:9px;
    color:black;
}


#arrows {
    position:absolute;
    z-index:11;
    left:679px;
    top:104px;
}


#arrowsned {
    position:absolute;
    z-index:11;
    left:679px;
    top:345px;
}
Avatar billede pelkjaer Nybegynder
17. januar 2002 - 13:58 #10
Det eneste der umiddelbart er galt i det er

\"  visbility:visible;  \" i #divScroller1. Fjern det og prøv så.
Avatar billede nikolajdu Nybegynder
17. januar 2002 - 13:58 #11
Pelkjaer -

At stylesheetet ikke var optimalt var også en af mine første tanker. Der kan dog alligevel være grunde til at man ønsker forskellige.

Positionering i NS er ikke altid helt det samme - Specielt - Relative.

IE - Har en hel del sager som kun den selv forstår - bl.a filters og kun fra version 5.

I begge tilfælde er der så også forskel på om det dutter. Det kommer an på versionen. Version 4 browsere har det skidt her, så de bør i og for sig have deres eget stylesheet.

Når det så kommer til Opera, så er jeg af den opfattelse at den type brugere som regel er langt bedre opdateret en f.eks NS og IE brugere er. Jeg tvivler på du vil se en eneste Opera 3 bruger på din side de næste 2 år.

Ovenstående Stylesheet skal virke i IE 5, NS 6.x og Opera 4. Oven i købet vil det meste også virke i både IE 4 og NS 4. Der er altså umiddelbart ingen grund til at kaste sig ud i mange stylesheets.

/Nikolaj
Avatar billede pelkjaer Nybegynder
17. januar 2002 - 14:05 #12
nikolaj>>My point exactly..

Men NS 4 kræver ofte sit eget stylesheet - og dér er mit script rigtigt godt, da det disabler det andet stylesheet og derfor forhindrer mulige \"cascading issues\".

Mht. til filters, NS 6 og opera ignorer dem, så selv om sådanne indgår i et \"iemozilla\" sheet burde det ingen problemer give.
Avatar billede patrickbateman Nybegynder
17. januar 2002 - 14:12 #13
Det er lige netop positionen af min text i textboxen og de pile man kan bruge til at scrolle texten med som i NS6 og Opera 5 ikke står korrekt (de står faktisk ens de 2).

Så jeg skal vel bare have 2 stylesheets. 1 til IE og 1 som NS og Opera kan bruge.
Avatar billede nikolajdu Nybegynder
17. januar 2002 - 14:16 #14
pelkjaer - Mit disabler ingen scripts - Næh det finder jo bare browseren og tager så kun det dertil hørende stylesheet. :))

Du har helt ret i at de ignoreres

Bateman - Når nu de står samme sted, så skriver du bare

if(ns4||ns6||opera){....}

/Nikolaj
Avatar billede pelkjaer Nybegynder
17. januar 2002 - 14:26 #15
Nu skrev jeg jo også \"alternativ\" :)

Anyway, så har jeg aldrig oplevet et lign. positioneringsproblem med nogle af de dhtml scrollere jeg har brugt.

patrick>>du er klar over at i IE 6 kommer der en fejlmeddelelse (page is undefined)?
Avatar billede nikolajdu Nybegynder
17. januar 2002 - 14:28 #16
Jeg får da ingen fejl i min IE 6??
Avatar billede patrickbateman Nybegynder
17. januar 2002 - 14:29 #17
pelkjaer -> Det er fordi du prøver at bruge menu\'en inden siden er helt loadet.
Det ville jeg gerne omgå ved at bruge en loader, men hvis jeg bruger loaderen virker mine javascripts ikke bagefter.. prøv at se på http://www.patrick-bateman.dk/indexnew.php
Avatar billede pelkjaer Nybegynder
17. januar 2002 - 14:31 #18
Det gør jeg..

\"A runtime error has occcurred - do you wish to debug?
Line 117: Error - pages is undefined\"
Avatar billede pelkjaer Nybegynder
17. januar 2002 - 14:33 #19
patrick>>Ligemeget hjælper det - jeg venter til siden er loadet helt og så får jeg samme fejl (denne gang med linje 244).
Avatar billede patrickbateman Nybegynder
17. januar 2002 - 14:35 #20
Du venter indtil texten kommer frem i textboxen i midten ??

Jeg har ingen fejl derhjemme (IE6) og ingen fejl her på work (IE5.5), så det forstår jeg ikke helt.
Avatar billede pelkjaer Nybegynder
17. januar 2002 - 14:36 #21
..jeg kan godt se at den virker fint hvis jeg venter til den er loadet.

(ovenstående kommentar bedes ignoreres da jeg ikke læste din ordentligt)
Avatar billede pelkjaer Nybegynder
17. januar 2002 - 14:37 #22
Du kunne smide et smide et hvidt layer ind over hele siden - og skjule det ved onload..

Det kunne løse problemet.
Avatar billede patrickbateman Nybegynder
18. januar 2002 - 13:11 #23
Det virker efter hensigten nu med nikolajdu\'s script. Nu kan siden ses perfekt i NS6+, Opera6+, IE5.5+IE6+
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester