Avatar billede mczlimmer Nybegynder
18. september 2002 - 17:13 Der er 18 kommentarer og
2 løsninger

Target???

Hey...

Kan det lade sig gøre i CSS at bestemme et base target for links på ens site???

Kan det evt. lade sig gøre at bestemme det på en anden måde? Sådan at man slipper for at indsætte <base target="bla bla"> på alle ens sider..

Zlimmer ~over&out~
Avatar billede pelkjaer Nybegynder
18. september 2002 - 17:26 #1
Ikke så vidt jeg ved.

Men du slipper jo heller ikke for at indsætte minimum et link rel / stylesheet, så..

Med javascript kunne du gøre sådan:

<script type="text/javascript">
document.write("<base target=_blank>")
</script>

Og så evt. linke til en js fil indeholdende det istedet.
Avatar billede phillips Nybegynder
18. september 2002 - 17:50 #2
Eller du kunne vel også bruge server side includes...
Avatar billede tarraq Nybegynder
20. september 2002 - 00:14 #3
Nu bruger jeg aldrig selv <base target .. >, men skriver som regel en reference til et stylesheet dynamisk.
En .css-fil til IE og netscape 6.x, og en til netscape 4.x.
Scriptet ligger i style.js, og bliver inkluderet i alle filer hvor det er nødvendigt.
På samme måde vil du, som også nævnt i pelkjaer's indlæg, udskrive den ved javascript.
Men hvis du har bare et nogenlunde skabelon-baseret website (altså at alle sider minder lidt om hinanden i opsætning), så vil det nemmeste nok være bare at manuelt skrive det i hver fil.
Alternativt, hvis det passer ind i dit setup, kan du undlade det, da langt de fleste browsere's standard "target" er "_SELF", altså samme vindue som linket er i.

Mvh. Tarraq
Avatar billede mczlimmer Nybegynder
20. september 2002 - 14:08 #4
--->pelkjaer
Jeg ved godt at jeg ikke slipper for at indsætter et link til mit stylesheet, men jeg har allerede et stylesheet som der bliver linket til på alle siderne, så det ville være meget nemmere bare at kunne skrive det en gang i mit stylesheet....

--->Phillips
Nope det kan jeg ikke da den server siden skal ligge på, hverken understøtter PHP eller ASP...

--->tarraq
Det lyder som en fornuftig løsning, at bruge et javascript som reference til forskellige stylesheets...
Problemet er bare at jeg ikke kan finde ud af javascript, men jeg vil meget gerne have et sådan javascript, hvis jeg må få det???
Og jeg vil helst slippe for at skrive det manuelt da der er ca. 40 sider... Ved godt at jeg bare kan copy -> paste, men det er ikke altid lige sjovt at lave sådan noget slavearbejde....

ZLimmer ~over&out~
Avatar billede tarraq Nybegynder
20. september 2002 - 14:14 #5
Her er det script jeg bruger, og inkluderer i alle filer.

if(parseInt(navigator.appVersion)>3){
    if(document.all)
    document.write('<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/ie.css\">');
    else
    document.write('<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/nn.css\">');
}

Du kommer nok ikke udenom det manuelle arbejde, men muligvis kan du lave en search and replace på det.


Happy Coding,
Tarraq
Avatar billede pelkjaer Nybegynder
20. september 2002 - 14:17 #6
Hvis det blot er ver. 4 browsere der skal ha' sit eget sheet kan man bruge

<link rel="stylesheet" type="text/css" href="v4sheet.css">
<style type="text/css">
<!--
@import url("w3csheet.css");
-->
</style>
Avatar billede pelkjaer Nybegynder
20. september 2002 - 14:28 #7
Man kunne også gøre sådan her:

<link href="v4sheet.css" rel="stylesheet" type="text/css">
<script type="text/JavaScript">
<!--
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(w3csheet.css');
//-->
</script>
Avatar billede tarraq Nybegynder
20. september 2002 - 14:35 #8
Så må jeg sige at min er noget mere overskuelig ;o)

Happy Coding,
Tarraq
Avatar billede mczlimmer Nybegynder
23. september 2002 - 09:53 #9
--->tarraq  &  pelkjaer
Da jeg ikke har arbejdet med javascripts, ville det være dejligt hvis i også lige gad begrunde hvorfor jeres script er det bedste, og måske hvad de forskellige koder betyder..?

I skal nok få lidt flere point...

Zlimmer ~over&out~
Avatar billede tarraq Nybegynder
23. september 2002 - 09:59 #10
Resultatet er det samme.
Men mit script henter forskellige .css-filer ind, afhængig af hvilken browser.
Pelkjaers henter ind baseret på version, så vidt jeg kan se.

Pelkjaer >> Hvad siger du? :)
Avatar billede pelkjaer Nybegynder
23. september 2002 - 10:04 #11
Mit gør det muligt at bruge 2 forskellige stylesheets.

Et til version 4 browsere, og et til version 5 og højere browsere.

Der er blot det at sige at begge stylesheets skal ligge i samme mappe, scriptet finder selv ud af hvor alt efter hvor du lægger dit version4 sheet henne med
<link href="v4sheet.css" rel="stylesheet" type="text/css">
Avatar billede tarraq Nybegynder
23. september 2002 - 10:14 #12
Men dit tager således ikke høkde for forskellene mellem IE og Netscape, korrekt?
Dog er ovenstående også kun hvis man virkelig vil tage sig af netscape.
Det er der desværre ikke så mange der gøre mere.. :o/

- Tarraq
Avatar billede pelkjaer Nybegynder
23. september 2002 - 10:17 #13
Som jeg ser det er der ingen forskelle af betydning når vi fx. taler IE6 vs. NS6.

Som regel har man blot brug for et seperat stylesheet til NS4/IE4
Avatar billede tarraq Nybegynder
23. september 2002 - 10:19 #14
jeg finder nu ellers at detkun er nn4.x der skal have seperat css.
Rigtigt at IE4+ og NN6 _stort set_ følger det ens :)

- Tarraq
Avatar billede pelkjaer Nybegynder
23. september 2002 - 10:22 #15
Ja, det er jeg for så vidt nu også enig i.
Ofte aner jeg rent faktisk ikke hvordan tingene ser ud i IE4 da man ikke kan have flere IE´s installeret. Men man må gå ud fra at hvis det virker i IE5+, NS4, NS6+ og Opera5+ er det sikkert ok.
Avatar billede tarraq Nybegynder
23. september 2002 - 10:26 #16
Ja.. Det er squide irriterende!
Har 5 forskellige netscapes, 3 opera og to mozilla, men kun en IE :( (5.5sp2).

Har dog min mors gamle bærbare med IE 4.0, som hun har fået lodret forbud mod at opgradere *G*
Avatar billede mczlimmer Nybegynder
23. september 2002 - 14:55 #17
--->pelkjaer  &  tarraq
I denne linje:
StyleLoader(w3csheet.css');
i pelkjaers script, skal w3cssheet.css erstattes med stien på mit stylesheet til fx. version 4.0, ik'?

Må jeg godt ændre navnene på stylesheetsne til fx. blabla.css og hej.css??

Ps. Husk lige at poste et svar :-)

Zlimmer ~over&out~
Avatar billede tarraq Nybegynder
23. september 2002 - 14:57 #18
Et svar, hvis du synes jeg skal ha' point :)

Du kan bare ændre navnene, ja.
Pelkjaer svarer sikkert på spørgsmålet :)

- tarraq
Avatar billede pelkjaer Nybegynder
23. september 2002 - 15:06 #19
mczlimmer>>

Vi har først version 4 stylesheetet, som du *skal* linke til med

<link href="v4sheet.css" rel="stylesheet" type="text/css">
Du kan dog godt kalde det fx. "mitsheet" og lægge det i en mappe der hedder fx. "css", så det vil se sådan ud:

<link href="css/mitsheet.css" rel="stylesheet" type="text/css">

Dernæst har du javascriptet - det kan du gemme i en ekstern fil hvis du ønsker. Du må oggå her kalde "w3csheet.css" lige hvad du vil - husk bare at sheet'et til ver. 5+ browsere *skal* hentes her.

Du skal endvidere huske at lægge dette sheet i samme mappe som dit ver. 4 sheet.

Du må heller ikke skrive

StyleLoader(css/navn.css');

*kun*

StyleLoader(navn.css'); ----- >altså uden sti foran - det finder det selv ud af.
Avatar billede mczlimmer Nybegynder
23. september 2002 - 20:04 #20
--->tarraq
Du får point, da du har prøvet at hjælpe mig...

--->pelkjaer
Du får også point, lidt flere end tarraq da dit script virker som det bedste...

Zlimmer ~over&out~
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