Beste mensen,
Ik heb de afgelopen dagen heel veel problemen gehad met problemen met Opera 6 (win) bij het resizen van de browser. Ik had in m'n pagina een dynamisch element dat werd gevuld met javascript (menuutje namelijk) Telkens als ik het scherm resizede (lekker nederlands woord ja), verdween namelijk de inhoud van de Div.
Wat bleek:
- onResize event in de body werkt niet in opera.
- Reflow van pagina's in opera 6 is buggy.
- Events worden niet volledig ondersteund in opera 6
- Dynamic creation van objecten in het document levert problemen op in opera 6.
Oplossing:
Ik heb uiteindelijk iets gebouwd dat dus lijkt op een eigen event manager waar ik daarna een soort resize event van check. Alles helaas zelf moeten schrijven in javascript. Hopelijk helpt het jullie iets want ik kon niets goeds vinden wat het voor mij oploste. Mochten er betere oplossingen zijn (voor NS4+, IE4+, OP4+ alles WIN/MAC) dan hoor ik het natuurlijk graag.
Dit plaats je in de head sectie en dan zou het moeten werken
Andere scripts deden het telkens maar 1 maal. De alert blijkt trouwens een interessant ding te zijn voor een enkele loop waardoor het script altijd lijkt te werken totdat je de alert eruit haalt
Ik heb de afgelopen dagen heel veel problemen gehad met problemen met Opera 6 (win) bij het resizen van de browser. Ik had in m'n pagina een dynamisch element dat werd gevuld met javascript (menuutje namelijk) Telkens als ik het scherm resizede (lekker nederlands woord ja), verdween namelijk de inhoud van de Div.
Wat bleek:
- onResize event in de body werkt niet in opera.
- Reflow van pagina's in opera 6 is buggy.
- Events worden niet volledig ondersteund in opera 6
- Dynamic creation van objecten in het document levert problemen op in opera 6.
Oplossing:
Ik heb uiteindelijk iets gebouwd dat dus lijkt op een eigen event manager waar ik daarna een soort resize event van check. Alles helaas zelf moeten schrijven in javascript. Hopelijk helpt het jullie iets want ik kon niets goeds vinden wat het voor mij oploste. Mochten er betere oplossingen zijn (voor NS4+, IE4+, OP4+ alles WIN/MAC) dan hoor ik het natuurlijk graag.
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
| <script language="JavaScript">
var origH=window.innerHeight;
var origW=window.innerWidth;
var newWNow;
var newWPrevious;
var newHNow;
var newHPrevious;
var cccl;
var cwrl;
var i = 1;
window.onload = startupstuff;
function startupstuff() {
bw = new lib_bwcheck();
if(bw.opera6) {
origH=window.innerHeight;
origW=window.innerWidth;
createCoordinateCheckerLoop();
createWindowResizerLoop();
}
}
function createCoordinateCheckerLoop() {
cccl = setInterval("CoordinateChecker()", 200);
}
function createWindowResizerLoop() {
cwrl = setInterval("windowResizerLoop()", 500);
}
function windowResizerLoop() {
if(newWNow == newWPrevious && newHNow == newHPrevious) {
if(newWNow != origW || newHNow != origH) {
origW = window.innerWidth;
origH = window.innerHeight;
newWNow = window.innerWidth;
newHNow = window.innerHeight;
newWPrevious = window.innerWidth;
newHPrevious = window.innerHeight;
window.location.reload();
}
} else {
newWPrevious = window.innerWidth;
newHPrevious = window.innerHeight;
}
}
function CoordinateChecker() {
newWNow = window.innerWidth;
newHNow = window.innerHeight;
}
</script> |
Dit plaats je in de head sectie en dan zou het moeten werken
Andere scripts deden het telkens maar 1 maal. De alert blijkt trouwens een interessant ding te zijn voor een enkele loop waardoor het script altijd lijkt te werken totdat je de alert eruit haalt
[ Voor 8% gewijzigd door fraek25 op 20-02-2003 17:05 ]
The end of the DPC is upon us....so get up! forget the past..