Ik heb voor mijn homepage (http://www.imachination.org) een script geschreven om de pagina on the fly van opmaak te laten veranderen. Eerst had ik hiervoor IE's document.styleSheets[0].href voor gebruikt, nu ben ik bezig om het script cross browser compatible te maken. Heb dus de <link> tag een id meegegeven en de code verandert in document.getElementById('style').href. Dit werkt niet met Firefox 0.8. Iemand een idee om mijn pagina werkend te krijgen onder Firefox?
Ik weet dat het mogelijk is om de tekst (en tags) tussen <DIV> en </DIV> te vervangen met javascript, maar of dat browser compatable is? Anders zou je het zo kunnen doen:
<DIV id="stylesheet"><link rel="stylesheet" src="blaat.css"></div>
En dan dat <link ...> deel herschrijven.
<DIV id="stylesheet"><link rel="stylesheet" src="blaat.css"></div>
En dan dat <link ...> deel herschrijven.
Je moet niet de href veranderen, maar alternate stylesheets opgeven; en dan activeren/uitschakelen.
http://alistapart.com/articles/alternate/ (1e keer dat dit artikel hier gepost wordt..)
http://alistapart.com/articles/alternate/ (1e keer dat dit artikel hier gepost wordt..)
Bah.jurri@n schreef op 23 februari 2004 @ 15:51:
<DIV id="stylesheet"><link rel="stylesheet" src="blaat.css"></div>
En dan dat <link ...> deel herschrijven.
[ Voor 36% gewijzigd door Rickets op 23-02-2004 15:56 ]
If some cunt can fuck something up, that cunt will pick the worst possible time to fucking fuck it up, because that cunt’s a cunt.
Bedankt voor de link, misschien komt het nog van pas. Jammer dat ik mijn eigen script nu moet weggooien, was toch een beetje mijn kindje...Rickets schreef op 23 februari 2004 @ 15:53:
Je moet niet de href veranderen, maar alternate stylesheets opgeven; en dan activeren/uitschakelen.
http://alistapart.com/articles/alternate/ (1e keer dat dit artikel hier gepost wordt..)
Voor FireFox 0.8 (en alle andere browsers behalve IE) moet je volgens mij het volgende gebruiken. 
code:
1
| <link rel="alternate stylesheet" src="..." title="..." media="..."> |
je hebt een klein scriptje die niet werkt in firefox en opera. dan vraag je hoe dat op te lossen, krijgt het antwoord en wil dat nietVerwijderd schreef op 23 februari 2004 @ 16:08:
[...]
Bedankt voor de link, misschien komt het nog van pas. Jammer dat ik mijn eigen script nu moet weggooien, was toch een beetje mijn kindje...
Maakt mij verder niet uit hoor
disjfa - disj·fa (meneer)
disjfa.nl
Ah, je zag het aan dat wazige MM_reloadPage(init) script waar Dreamweaver de hele tijd mee komt aan zetten! Gebruik bijna altijd het code venster van Dreamweaver. Vind sommige functies van Dreamweaver gewoon ontzettend handig, that's all.disjfa schreef op 23 februari 2004 @ 16:12:
Maakt mij verder niet uit hoormaar dan moet je wel regelen dat je gebruikers IE only zijn. Verder zou ik het gebruik van dreamweaver minderen en meer zelf schrijven
leer je meer van
Anyway, vind het wel raar dat Firefox de href van een externe stylesheet niet kan veranderen. Vond mijn manier wel wat hebben...
Verwijderd
code:
1
| document.getElementById('blaat').setAttribute('href','value'); |
[ Voor 30% gewijzigd door Verwijderd op 23-02-2004 16:36 ]
Heb het toegepast, maar ook dit werkt wel met IE en niet met Firefox, jammer. Heb het geupload, dus misschien zie je iets wat ik niet zie?Verwijderd schreef op 23 februari 2004 @ 16:35:
code:
1document.getElementById('blaat').setAttribute('href','value');
Dat werkt wel in Opera7/Moz/Firefox/IE (zie ook mijn homepage)
heb je wel id="blaat" in je <link> - CSS specificatie?
heb je wel id="blaat" in je <link> - CSS specificatie?
[ Voor 22% gewijzigd door Blaise op 24-02-2004 18:46 ]
Ik heb Opera gedownload en daarmee werkt hij dus wel! Hij moet eigenlijk ook met Firefox werken want hij laadt wel een style (bij mij altijd dezelfde). Ik denk dat de error ergens anders zit. Het javascript console van firefox roept namelijk error "background() is not een function". (Background() is dus zo de beruchte verander stylesheet functie.)Blaise schreef op 24 februari 2004 @ 18:45:
Dat werkt wel in Opera7/Moz/Firefox/IE (zie ook mijn homepage)
heb je wel id="blaat" in je <link> - CSS specificatie?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| <script language="JavaScript">
function cookie()
{
if (document.cookie.length > 0)
{
begin = document.cookie.indexOf("=")+1;
end = document.cookie.length;
document.forms[0].select.value = document.cookie.substring(begin, end);
background();
}
else
{
document.forms[0].select.value = Math.round(Math.random()*7+1);
background();
}
}
function background()
{
var style = document.forms[0].select.value;
style = 'images/backgrounds/'+style+'.css';
eval("document.getElementById('style').setAttribute('href', '"+style+"')");
var ExpireDate = new Date();
ExpireDate.setTime(ExpireDate.getTime() + (31 * 24 * 3600 * 1000));
document.cookie = "style=" + document.forms[0].select.value + "; expires=" + ExpireDate.toGMTString();
}
...
<input type="button" name="Button" value="Change!" onClick="background()"> |
In Mozilla en in Firefox werkt mijn script slechts eenmalig. Opera en IE kunnen hem wel aanpassen via de button. De error die ik van Firefox en Mozilla krijg is "background() is not a function".
[ Voor 21% gewijzigd door Verwijderd op 24-02-2004 21:10 ]
Alternate stylesheets kunnen standaard via een icoontje, linksonderin het browservenster van Firefox worden veranderd, zonder javascript dus.
Voor IE kan je het script rippen van de weblog van de safari developer david hyatt
http://weblogs.mozillazine.org/hyatt/
Voor IE kan je het script rippen van de weblog van de safari developer david hyatt
http://weblogs.mozillazine.org/hyatt/
Old school gamer met een lag en een traan.
En dat laatste scriptje werkt weer niet in Opera blijkbaar. lol
Human Bobby
Pagina: 1