[javascript] IE refresht niet

Pagina: 1
Acties:

  • Geert.H
  • Registratie: Maart 2001
  • Laatst online: 15:35
Ik heb bij een site een menu wat te lang was om te bekijken bij 800*600. En aangezien ik dit menu alleen anders wil hebben voor resoluties van 800*600 heb ik even gezocht voor een resolutie check(deze)

JavaScript:
1
2
3
4
5
6
7
8
9
<script type="text/javascript">
if (screen.width == '800' ) {
document.location = "index.php?menu=800";
}
if (screen.width == '1024' ){
    document.location = "index.php?menu=1024";
}

</script>


Nu werkt deze perfect in FireFox , maar in internet explorer wil die niets doen. Dit is wat ik heb geprobeerd:
- zonder quotes
- met 1 =
- screen.width <= '801'
- als ik
code:
1
2
3
if (screen.width == '1024' ){
    document.location = "index.php?menu=1024";
}


verving door
code:
1
2
3
 else {
    document.location = "index.php?menu=1024";
}

dan werdt het altijd de index.php?menu=1024

Hij wil dus op een een of andere manier die if functie niet accepteren, terwijl die in FireFox dat wel doet. Nu is dit een van de weinige keren dat ik met javascript werk en ik heb geen idee wat ik zou moeten veranderen (omdat het hele zaakje in FireFox gewoon werkt).

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 21:36

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Het is dus duidelijk dat je voorwaarde niet klopt :) Standaard debugwerk: alert( screen.width );

Overigens heb ik al zo'n idee wat er niet klopt, maar probeer het eerst zelf even :)

NOFI, maar werkwoorden in de verleden tijd zijn _nooit_ met 'dt'



Edit:

Overigens check je op 2 resoluties. Ik draai bijv. op 1152 breed, dus zou er bij mij niets gebeuren. Je kunt beter 1 keer checken:

code:
1
2
3
4
als breedte <= 800 
    redirect klein
anders
    redirect groot

[ Voor 34% gewijzigd door Thijsmans op 16-01-2005 14:06 ]

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • André
  • Registratie: Maart 2002
  • Laatst online: 11-05 16:42

André

Analytics dude

Ik zou het zelf eerder zo doen:

code:
1
2
3
4
5
6
7
8
9
10
<script type="text/javascript">
if (screen.width <= 800 )
{
  location.href = "index.php?menu=800";
}
if (screen.width >= 1024 )
{
  location.href = "index.php?menu=1024";
}
</script>

En als je in een frameset zit kun je ook nog redirecten met top. er voor.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Ik zou sowieso niet op absolute waardes checken, d'r zijn ook mensen met schermresoluties van 640x480 op deze wereld nog (echt waar!) en bijvoorbeeld 768x480 is een perfect acceptabele resolutie voor breedbeeld :)

Altijd relatief testen dus. Ik ben ooit op een site (megadoxy :X ) geweigerd omdat ik geen goede resolutie had voor het ding. Bleek dat ie hardcoded checkte of de breedte wel 800, 1024, 1280 of 1600 was. Kom je aan met je 1920x1200 laptop 7(8)7

Professionele website nodig?


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

André schreef op zondag 16 januari 2005 @ 14:06:
Ik zou het zelf eerder zo doen:

code:
1
2
3
4
5
6
7
8
9
10
<script type="text/javascript">
if (screen.width <= 800 )
{
  location.href = "index.php?menu=800";
}
if (screen.width >= 1024 )
{
  location.href = "index.php?menu=1024";
}
</script>

En als je in een frameset zit kun je ook nog redirecten met top. er voor.
En ik krijg dus gewoon geen menu als ik m'n laptop op 960x600 zet wat voor mij gewoon een native resolutie is? :Y)

Professionele website nodig?


  • Geert.H
  • Registratie: Maart 2001
  • Laatst online: 15:35
tnx voor de oplossingen
omdat ik dus niet echt een javascript ken, had ik er niet aan gedacht om debuggen, en dan had ik het zelf al geweten. Ik heb namelijk 2 beeldschermen en FF pakt netjes het beeldscherm waar het venster in staat, maar IE neemt gewoon het main scherm (en daar was de width 1280 van). |:(

iig bedankt voor de hulp

offtopic:
tnx voor de nl les

[ Voor 11% gewijzigd door Geert.H op 16-01-2005 14:14 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 11-05 16:42

André

Analytics dude

curry684 schreef op zondag 16 januari 2005 @ 14:09:
[...]

En ik krijg dus gewoon geen menu als ik m'n laptop op 960x600 zet wat voor mij gewoon een native resolutie is? :Y)
Ruk, ik bedoel dus <=800 en >800 ;)

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

het is window.location en niet document.location(!)
overigens zegt schermresolutie niets over de grootte van het window ;)

Intentionally left blank


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

crisp schreef op zondag 16 januari 2005 @ 15:26:
het is window.location en niet document.location(!)
overigens zegt schermresolutie niets over de grootte van het window ;)
Ook nog zoiets, als je bedenkt dat ik inderdaad middels de FF devbar altijd alle browsers op exact 1024x768 heb staan ondanks m'n resolutie :) * curry684 is lid van het front tegen idioot altijd browsers maximizen ;)

Professionele website nodig?


  • Geert.H
  • Registratie: Maart 2001
  • Laatst online: 15:35
Ik heb nog wel even gekeken of het ook mogelijk was om de breedte van het window te krijgen, maar dat kon ik zo snel niet vinden. Wat nog wel kon was dat ik het beeld zelf automatisch groter zou maken. Maar dat leek me niet zo goed idee :+

  • André
  • Registratie: Maart 2002
  • Laatst online: 11-05 16:42

André

Analytics dude

Ghoekzema schreef op zondag 16 januari 2005 @ 23:07:
Ik heb nog wel even gekeken of het ook mogelijk was om de breedte van het window te krijgen, maar dat kon ik zo snel niet vinden. Wat nog wel kon was dat ik het beeld zelf automatisch groter zou maken. Maar dat leek me niet zo goed idee :+
code:
1
document.body.clientWidth
:)

  • Geert.H
  • Registratie: Maart 2001
  • Laatst online: 15:35
André schreef op zondag 16 januari 2005 @ 23:44:
[...]


code:
1
document.body.clientWidth
:)
_/-\o_
Pagina: 1