Avatar billede onkel-farmor Nybegynder
03. oktober 2001 - 22:54 Der er 21 kommentarer og
1 løsning

Valg af html-side efter NN/IE

Kan man i et frameset bestemme at X.html skal ind i frame A hvis browseren er Netscabe, men derimod Y.html hvis browseren er Explorer????
Hvis ja hvordan gørman det??
Avatar billede onkel-farmor Nybegynder
03. oktober 2001 - 22:55 #1
Kan godt gives flere points hvis det ønskes.
Avatar billede onkel-farmor Nybegynder
03. oktober 2001 - 22:55 #2
Eller mindre....... *S*
Avatar billede nute Nybegynder
03. oktober 2001 - 22:59 #3
<frameset>
<script>
if (navigator.appName == \"Microsoft Internet Explorer\"){
  document.write( \"<frame src=\\\"Y.html\\\">\");

if (navigator.appName == \"Netscape\"){
  document.write( \"<frame src=\\\"A.html\\\">\");
}
</script>
<frame src=\"\">
</frameset>
Avatar billede fomse Nybegynder
03. oktober 2001 - 23:04 #4
Lytter
Avatar billede onkel-farmor Nybegynder
03. oktober 2001 - 23:13 #5
nute -ingen af browserne læser noget ind, måske fordi der blot står <frame src=\"\"> ?
Avatar billede nute Nybegynder
03. oktober 2001 - 23:17 #6
jo, men det er jo noe *du* skal fylle ut selv !! Jeg kan da ikke vite hvordan ditt frameset ser ut ?!

;-)
Avatar billede onkel-farmor Nybegynder
03. oktober 2001 - 23:18 #7
<html>
<head>
<title></title>
</head>
<frameset cols=\"*,665,*\" frameborder=\"no\" border=\"0\" framespacing=\"0\" framepadding=\"0\">
  <frame name=\"leftFrame\" scrolling=\"no\" src=\"sidebar.html\">
    <frameset rows=\"96,*,26\" frameborder=\"no\" border=\"0\" framespacing=\"0\" framepadding=\"0\">
    <script style=javascript>
    if (navigator.appName == \"Microsoft Internet Explorer\"){
    document.write( \"<frame src=\\\"Head.html\\\">\");
    } 
    if (navigator.appName == \"Netscape\"){
    document.write( \"<frame src=\\\"Headns.html\\\">\");
    }
    </script>
    <frame name=\"topFrameLOGO\" scrolling=\"no\" noresize src=\"\">
<frame name=\"mainFrame\" scrolling=\"no\" noresize src=\"SetLink01.html\">
<frame name=\"bottom\" scrolling=\"no\" noresize src=\"kontakt2.html\">
</frameset>
    <frame name=\"rightFrame\" scrolling=\"no\" src=\"sidebar.html\">
<noframes>
</noframes>
</frameset>
<body>
</body></html>
Avatar billede fomse Nybegynder
03. oktober 2001 - 23:25 #8
Du skal ikke have body-tag i dit frameset!!
Avatar billede onkel-farmor Nybegynder
03. oktober 2001 - 23:27 #9
hmm... det går da ellers okay. *S*
Avatar billede nute Nybegynder
03. oktober 2001 - 23:31 #10
hmmm....det ser ut til at javascript som ligger inne i <frameset> tags ikke blir eksekvert. Jeg må ærlig innrømme at jeg ikke vet grunnen, for jeg unngår helst frames, da disse ofte skaper problemer istedenfor å løse dem, så løsningen må være å skrive ut hele framset\'et fra JavaScript...

/nute
Avatar billede onkel-farmor Nybegynder
03. oktober 2001 - 23:34 #11
Ja, har observeret samme problem. Du mener altså at alle framesets, osv. skal skrives i en javascript \"document.write\" el.lign.
Avatar billede nute Nybegynder
03. oktober 2001 - 23:40 #12
yup...en blokk for IE og en blokk for NS. noe ála dette:

<html>
<SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">
<!--
if( navigator.appName == \"Microsoft Internet Explorer\" ){
    document.write( \"<frameset cols=\\\"*,665,*\\\" frameborder=\\\"no\\\" border=\\\"0\\\" framespacing=\\\"0\\\" framepadding=\\\"0\\\">\");
  document.write( \"<frame name=\\\"leftFrame\\\" scrolling=\\\"no\\\" src=\\\"sidebar.html\\\">\");
  document.write( \"<frameset rows=\\\"96,*,26\\\" frameborder=\\\"no\\\" border=\\\"0\\\" framespacing=\\\"0\\\" framepadding=\\\"0\\\">\");
  document.write( \"<frame name=\\\"topFrameLOGO\\\" scrolling=\\\"no\\\" noresize src=\\\"\\\">\");
    document.write( \"<frame name=\\\"mainFrame\\\" scrolling=\\\"no\\\" noresize src=\\\"SetLink01.html\\\">\");
    document.write( \"<frame name=\\\"bottom\\\" scrolling=\\\"no\\\" noresize src=\\\"kontakt2.html\\\">\");
  document.write( \"</frameset>\");
  document.write( \"<frame name=\\\"rightFrame\\\" scrolling=\\\"no\\\" src=\\\"sidebar.html\\\">\");
  document.write( \"<noframes>\");
  document.write( \"</noframes>\");
  document.write( \"</frameset>\");
}
if( navigator.appName == \"Netscape\" ){
    document.write( \"<frameset cols=\\\"*,665,*\\\" frameborder=\\\"no\\\" border=\\\"0\\\" framespacing=\\\"0\\\" framepadding=\\\"0\\\">\");
  document.write( \"<frame name=\\\"leftFrame\\\" scrolling=\\\"no\\\" src=\\\"sidebar.html\\\">\");
  document.write( \"<frameset rows=\\\"96,*,26\\\" frameborder=\\\"no\\\" border=\\\"0\\\" framespacing=\\\"0\\\" framepadding=\\\"0\\\">\");
  document.write( \"<frame name=\\\"topFrameLOGO\\\" scrolling=\\\"no\\\" noresize src=\\\"\\\">\");
    document.write( \"<frame name=\\\"mainFrame\\\" scrolling=\\\"no\\\" noresize src=\\\"SetLink01.html\\\">\");
    document.write( \"<frame name=\\\"bottom\\\" scrolling=\\\"no\\\" noresize src=\\\"kontakt2.html\\\">\");
  document.write( \"</frameset>\");
  document.write( \"<frame name=\\\"rightFrame\\\" scrolling=\\\"no\\\" src=\\\"sidebar.html\\\">\");
  document.write( \"<noframes>\");
  document.write( \"</noframes>\");
  document.write( \"</frameset>\");
}
   
//-->
</SCRIPT>
</html>

så skal du bare sette inn de filer du ønsker i de tilhørende frames

/nute

Avatar billede onkel-farmor Nybegynder
03. oktober 2001 - 23:42 #13
Ahhh - du er da en \"sweetling\", nute.
Avatar billede nute Nybegynder
03. oktober 2001 - 23:46 #14
takker :-)
Avatar billede onkel-farmor Nybegynder
03. oktober 2001 - 23:46 #15
Ja! Efter lige at have indsat de 2 html\'er i topframelogo... Så virker det sgu!
Tusind tak, nute.
(Du kan da vist godt ordne de frames, eh?)
Avatar billede nute Nybegynder
03. oktober 2001 - 23:47 #16
onkel >> det er ikke så vanskelig når man bare vet hva man skal lete etter ;-)
Avatar billede onkel-farmor Nybegynder
03. oktober 2001 - 23:52 #17
Neeej, det sagde \"hun\" også igår... ((:
Avatar billede nute Nybegynder
04. oktober 2001 - 00:00 #18
hehe...
Avatar billede olebole Juniormester
04. oktober 2001 - 01:55 #19
<ole>
Jaja, nute...det er en trøst, at jeg ved, du er klar over, jeg ikke forfølger dig  :)
Det er dog voldsomt performance forbedrende at bygge hele strengen op og så skrive den ud til sidst. F.eks:

var str = \"noget tekst, \";
    str += \"der skal skrives ud \";
    str += \"om lidt af JavaScript\";
document.write(str);

...og jakoba - den gamle rå-koder - lærte mig zq noget nyt og genialt, forleden:

var str = new Array();
    str[0] = \"noget tekst, \";
    str[1] = \"der skal skrives ud \";
    str[2] = \"om lidt af JavaScript\";
document.write( str.join(\"\\n\") );

...af de to metoder (hvoraf den første er voldsomt meget hurtigere end at skrive én linie ud ad gangen) er den sidste op til en faktor 100 hurtigere end den første...! *HUNDREDE* gange hurtigere...!!!!!!!!!!!!!!!
Se selv:
  http://www.eksperten.dk/spm/109806
Fantastisk....intet mindre end *FANTASTISK*, zq!

PS: Undskyld, jeg råber.......så skulle I se mine arme! Jeg har i begejstring revet keyboardet på gulvet fire gange for at skrive dette!  *ROTFLMAO*  =oD
/mvh
</bole>
Avatar billede olebole Juniormester
04. oktober 2001 - 02:13 #20
Denne må nok blive det mest \'sexy\', jeg kan finde på:

<SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">
var side;
if( document.all ){ // Så er det en IE4+
  side = \"side_ie.html\"
}
else if (document.layers || document.getElementById) { // Så er det NS4+
  side = \"side_ns.html\"
}

var frStr = new Array();

frStr[0] = \'<frameset cols=\"*,665,*\" frameborder=\"no\" border=\"0\" framespacing=\"0\" framepadding=\"0\">\';
frStr[1] = \'<frame name=\"leftFrame\" scrolling=\"no\" src=\"sidebar.html\">\';
frStr[2] = \'<frameset rows=\"96,*,26\" frameborder=\"no\" border=\"0\" framespacing=\"0\" framepadding=\"0\">\';
frStr[3] = \'<frame name=\"topFrameLOGO\" scrolling=\"no\" noresize src=\"\">\';
frStr[4] = \'<frame name=\"mainFrame\" scrolling=\"no\" noresize src=\"\' + side + \'\">\';
frStr[5] = \'<frame name=\"bottom\" scrolling=\"no\" noresize src=\"kontakt2.html\">\';
frStr[6] = \'</frameset>\';
frStr[7] = \'<frame name=\"rightFrame\" scrolling=\"no\" src=\"sidebar.html\">\';
frStr[8] = \'<noframes>\';
frStr[9] = \'<body>\';
frStr[10] = \'Din browser kan ikke lide frames. Find en ny  :)\';
frStr[11] = \'</body>\';
frStr[12] = \'</noframes>\';
frStr[13] = \'</frameset>\';

document.write( frStr.join(\"\\n\") );

</SCRIPT>

Læg mærke til, at jeg først bestemmer sidens navn (URL) - efter den aktuelle browser. Derefter sætter jeg den ind i linien, der begynder med: \'frStr[4].....\'.

Husk læderhjelm og goggles - og spænd sikkerhedsselen - når I tester det! Det går *hurtigt*...!!!  =)
/mvh
Avatar billede olebole Juniormester
04. oktober 2001 - 02:20 #21
Den vågne koder vil nu sige: \"Jamen, IE forstår jo også \'document.getElementById\'...så kan du da ikke være sikker på, det er en NS6\'er i din anden \'if\'!\"

Joooohhhhh, fordi alle IE\'ere forstår \'document.all\', så de \'gik alle i fælden\' i den første \'if\' - og vi siger jo netop: \'else if...\' - altså: \"Hvis du ikke gik i første gang, så...blabla\"

PS: Man kan godt have en body i <noframes>. Det vises jo netop kun, hvis browseren ikke kan vise frames  ;o)
/mvh
Avatar billede nute Nybegynder
04. oktober 2001 - 11:06 #22
olebole >> *nok* en gang lærer man noe nytt her inne :-) HURRA.

Ja...jeg *vet* du ikke forfølger meg, men det er allikevel skremmende at du hele tiden kommer over de samme spørsmålene som meg og allikevel ikke kan holde din munn (binde dine hender er vel en bedre analogi) :-)

Jeg er *helt* enig at en konkatinasjons approach er å foretrekke. Da jeg svarte på dette i går/natt, begynte jeg naturlig nok å bli litt søvnig. Jeg kan selvfølgelig se nå at mitt forslag bryter *alle* mine regler for \"least actions for each check\" og \"reuse\"...man kunne nesten like gjerne gjøre det *enda* tyngre ved først å sjekke for browser og redirecte til en side som inneholder frameset\'et til gjeldende browser.

Jeg noterer gledelig [array].join() konkatinerings \"teknikken\". Den må utprøves i praksis en gang, og jeg kan nok love at den blir flittig brukt hvis det nå byr seg en mulighet.

/nute
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



IT-JOB

Københavns Professionshøjskole

Cloudarkitekt

Cognizant Technology Solutions Denmark ApS

Azure Architect