前陣子,為了 layout 上的 flash chart 能夠 liquid width,在 try error 了無數次之後,好不容易找到最簡單能夠重新 render chart 的方式,卻栽在設定 resize 的 event 上,在 IE 上只要在 tag 上加上 onresize=”xxx” 就OK,FF2 就不吃這一套,屢試不爽
(╯ ̄皿 ̄)╯︵┴─┴
查了一下資料,原來 FF2 的 resize 只有在 window 物件上才有,而且是叫〝resize〞不是〝onresize〞,好吧,那就設成 window resize 吧..
BUT, 我以為我找到關鍵的所以應該沒問題了,錯錯錯~~ 原來 IE & FF2 的 event 指定方式不一樣啊~~~~
好吧, 再去問了谷歌得到解答如下:
// if FF2
if(window.addEventListener)
{
window.addEventListener(‘resize’, function(){render_chart();}, false);
}
// if IE
if(window.attachEvent)
{
window.attachEvent(“onresize”, function(){render_chart();});
}
唉~ 真是麻煩~
Takol 說
你那個表情是在翻桌子是吧?
FF 的 script 不是 event model,而是 object model,所以你得要把 event handler 給 attach 到物件上面,只是我們習慣了 IE 的方式,覺得很直觀,但延展性卻不太夠。
無論如何,我內心裡還是很期待 FF 趕快倒掉,這樣我寫程式就不用每次都得摸索半天然後大幹特幹莫可奈何哩。
Philip 說
To Takol,
1. Yes, 那表情是在翻桌子
2. 唉~ 我倒覺得FF不僅不會死還會越來越壯大,至少未來兩三年應該都會活的好好的,在這兩大瀏覽器中求生存是避免不了囉~~ 不過好消息是至少 CSS 部分 IE7 比 IE6 好很多,目前我家老闆在 FF2 上做的 layout 在 IE7 上都比較沒問題,IE6 就……不提了…