Toon posts:

[Javascript] .js laden n.a.v. resolutie in body

Pagina: 1
Acties:

Verwijderd

Topicstarter
Dag allemaal,

Na veel gesleutel kom ik maar niet uit het volgende:

Ik wil een javascript menu met verschillende afmetingen laden al naar gelang de resolutie van de bezoeker. D.w.z. in het ene geval de file 1024_var.js en anders de 800_var.js etc.

Ik heb geprobeerd om het op dezelfde wijze te doen als ik verschillende stylesheets inlaadt per resolutie:
<script type="text/javascript">
<!-- Begin
//document.write('Your settings are ' + screen.width + ' x ' + screen.height + '');
if (screen.width <= 800) {
document.write('<link rel="stylesheet" type="text/css" href="800.css">');
}
if (screen.width >= 1024) {
document.write('<link rel="stylesheet" type="text/css" href="1024.css">');
}
// End -->
</script>

Alleen gebeurt dat uiteraard in de head terwijl de file in kwestie aangeroepen wordt in de body:
<script type="text/javascript" src="1024_var.js"></script>

Ik heb een aantal variaties op bovenstaande aanpak geprobeerd, maar helaas geen succes, of het menu functioneert niet (i.e. file niet gevonden) of de javascript file wordt niet ingeladen afhankelijk van de resolutie. Ik ben dus op de verkeerde weg of zie iets over het hoofd...

Iemand die mij een duwtje in de goede richting kan geven?

Alvast bedankt!!

  • Rowanov
  • Registratie: Februari 2004
  • Niet online

Rowanov

Kop eens wat anders...

window.innerWidth als alternatief gebruiken, wel even het = teken uit je vergelijking weghalen dan.

edit:

Er klopt geen aarsch van wat ik zeg :X , ben niet helemaal wakker :z

[ Voor 32% gewijzigd door Rowanov op 29-10-2004 19:09 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 23:11

crisp

Devver

Pixelated

hier is toch wel een hoop over te vinden; als je kijkt naar de technieken die gebruikt worden voor javascript stylesheet switchers, dan moet je er toch echt wel uit kunnen komen ;)

Intentionally left blank


  • André
  • Registratie: Maart 2002
  • Laatst online: 18-05 16:30

André

Analytics dude

document.write('<script type="text/javascript" src="1024_var.js"></s' + 'cript>');

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 23:11

crisp

Devver

Pixelated

kan je niet dit doen:
JavaScript:
1
2
3
4
s = document.createElement ( 'script' );
s.setAttribute ( 'type', 'text/javascript' );
s.setAttribute ( 'src', '1024_var.js' );
document.getElementsByTagName ( 'head' ).item(0).appendChild ( s );


hetzelfde kan trouwens ook met stylesheets ;)

[ Voor 10% gewijzigd door crisp op 29-10-2004 19:15 ]

Intentionally left blank


Verwijderd

Topicstarter
Zo moet ik er vast wel uitkomen, ik ga even jullie opties proberen en gebruik degene die me het beste bevalt.

Allemaal bedankt!!!

Verwijderd

Helaas ga je hopeloos de mist in als je kijkt naar screen.height en screen.width. Mijn resolutie is 1600x1200, maar mijn browservensters zijn maar 800 pixels breed.

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 23:11

crisp

Devver

Pixelated

Verwijderd schreef op 29 oktober 2004 @ 19:18:
Helaas ga je hopeloos de mist in als je kijkt naar screen.height en screen.width. Mijn resolutie is 1600x1200, maar mijn browservensters zijn maar 800 pixels breed.
idd; kijk liever naar window.availWidth/Height ;)

Intentionally left blank


Verwijderd

André schreef op 29 oktober 2004 @ 19:07:
document.write('<script type="text/javascript" src="1024_var.js"></s' + 'cript>');
Kleine correctie:
document.write('<script type="text/javascript" src="1024_var.js"><\/s' + 'cript>');

Verwijderd

Je kunt natuurlijk ook het hele probleem omzeilen door een resolutieonafhankelijk menu te gebruiken.

  • Skaah
  • Registratie: Juni 2001
  • Niet online
Als mijn resolutie tussen de 800 en 1024 ligt, welke stylesheet / js krijg ik dan?

Verwijderd

Topicstarter
Skaah schreef op 30 oktober 2004 @ 18:11:
Als mijn resolutie tussen de 800 en 1024 ligt, welke stylesheet / js krijg ik dan?
stylesheet 800, gecentreerd.
Pagina: 1