[問題] 請問相容性問題( prototype )

看板Ajax作者 (吹笛牧童)時間15年前 (2009/07/20 12:49), 編輯推噓2(2032)
留言34則, 3人參與, 最新討論串1/2 (看更多)
很簡單的程式,只有相依於 prototype 沒其他外部需求 <script type="text/javascript" src="prototype.js"></script> <table> <tr id='e1' class='test'> <td> e1 </td> </tr> <tr id='e2' class='test'> <td> e2 </td> </tr> <tr id='e3' class='test'> <td> e3 </td> </tr> </table> <script type="text/javascript"> onload = function () { all = $$('.test'); [e1,e2,e3].invoke('hide'); // 這一句在 IE 會失敗,但我在主控台慢慢手動執行,可以成功,可重製 } </script> 如上,我用 chrome 測 OK,用 IE 測失敗 目前對相容性還沒多少 debug 經驗,只能為了 schdule 趕快迴避 但我奇怪的是,這麼簡單的東西為什麼 IE 就不行了呢? 而且也不是'一定不行'喔! 我還是可以慢慢執行到它行 照這樣我會很害怕使用一些元件庫,風險很大 同事說 JS 少用,盡量在 Server 端以標準的 PHP/HTML 完成;不然很難 DEBUG 但他自己也用得不少 看起來很反諷(這不就是無法自拔?) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.219.65.16 ※ 編輯: HuangJC 來自: 61.219.65.16 (07/20 12:50)

07/20 13:09, , 1F
js有不得不用的時候 :p 應該是說在設計上盡量避免吧
07/20 13:09, 1F

07/20 13:14, , 2F
我知道這意思,只是知道也拿捏不出最好的線,花很多時間
07/20 13:14, 2F

07/20 13:14, , 3F
今天這道指令如果'確定不相容於 IE',那我就不用了
07/20 13:14, 3F

07/20 13:14, , 4F
但我碰到'不確定';我會以為是我自己寫錯;PO出來的 sample
07/20 13:14, 4F

07/20 13:15, , 5F
已經很短,縮小問題範圍;我在 DEBUG 的程式可大了..
07/20 13:15, 5F

07/20 13:15, , 6F
老實說你的sample 一看就覺得簡寫到一個錯誤的程度 XD
07/20 13:15, 6F

07/20 13:16, , 7F
e1 ,e2 ,e3 很顯然是 undefined :p
07/20 13:16, 7F

07/20 13:16, , 8F
再說 , error 都有 error msg , 先學會看錯誤訊息吧...
07/20 13:16, 8F

07/20 13:17, , 9F
js 不容易 debug 沒錯 , 不過還是有技巧的 . XD
07/20 13:17, 9F

07/20 13:17, , 10F
錯誤訊息沒說 undefine;不然你改 $('e1') 也可以,問題一樣
07/20 13:17, 10F

07/20 13:19, , 11F
錯誤訊息只是個起點 . 你寫一篇關於js debug的文章 , 但是連
07/20 13:19, 11F

07/20 13:20, , 12F
error msg 都沒提 , 你根本就還沒站在起跑線上. :3 加油
07/20 13:20, 12F

07/20 13:20, , 13F
先學走路再來學飛吧
07/20 13:20, 13F

07/20 13:20, , 14F
等下再修文;改 $('e1') 會OK了,很混亂呀 *_*
07/20 13:20, 14F

07/20 13:21, , 15F
你大概碰到page cache了 , 偶爾要記得ctrl+f5 . XD
07/20 13:21, 15F

07/20 13:23, , 16F
這種事情裡面太多眉角 不是很單純一個地方兩個地方 ,
07/20 13:23, 16F

07/20 13:23, , 17F
很多可能性都有 , 複雜歸複雜 , 但是那是因為一開始設定的
07/20 13:23, 17F

07/20 13:23, , 18F
目標就太遠 , 很多server side很簡單的事情到client side因y
07/20 13:23, 18F

07/20 13:24, , 19F
為多了流程控制外加容器概念 , 就讓事情變得很複雜 , 沒有
07/20 13:24, 19F

07/20 13:24, , 20F
那麼單純 , 但是設計者卻沒辦法接受這種轉變 , 才會產生 js
07/20 13:24, 20F

07/20 13:24, , 21F
很難的假象 , 這是我的看法 .
07/20 13:24, 21F

07/20 13:25, , 22F
html 也是有層級 , 但是有些人在設計html時沒有層級觀念.
07/20 13:25, 22F

07/20 13:32, , 23F
什麼叫層級?你說 cache 的問題嗎?
07/20 13:32, 23F

07/20 13:33, , 24F
層級說的是js中蠻多人一進來會搞不懂的dom 元素跟容器..
07/20 13:33, 24F

07/20 13:34, , 25F
cache的事情只有在第一行 , 後面說得都是有關相容性、debug
07/20 13:34, 25F

07/20 13:36, , 26F
也就是 e1 不等同於 $('e1') 的意思嗎?
07/20 13:36, 26F
※ 編輯: HuangJC 來自: 61.219.65.16 (07/20 13:37)

07/20 13:46, , 27F
..出現了,如果我認為 e1 的寫法是錯的,現在卻一直成功
07/20 13:46, 27F

07/20 13:46, , 28F
現在猛按 ctrl-f5 中 *_*,這樣我會找不到問題,嘖..
07/20 13:46, 28F

07/20 13:49, , 29F
..不知道要修文還是用回文,每一板的板風不同 ~^_^~
07/20 13:49, 29F

07/20 13:50, , 30F
隨性 沒差 XD 這裡很free
07/20 13:50, 30F

07/20 13:52, , 31F
可我這是作業文耶 XD
07/20 13:52, 31F

07/20 13:52, , 32F
好啦,我再整理一篇
07/20 13:52, 32F

07/22 01:33, , 33F
IE是哪個版本?..
07/22 01:33, 33F

07/22 01:52, , 34F
8.0
07/22 01:52, 34F
文章代碼(AID): #1AO_Tbrv (Ajax)
文章代碼(AID): #1AO_Tbrv (Ajax)