Re: [問題] firefox對javascript的支援

看板Web_Design作者 (踢恩)時間18年前 (2008/07/09 01:10), 編輯推噓1(1013)
留言14則, 2人參與, 最新討論串1/2 (看更多)
這個問題我最後自己解決了 問題在textbox.selectionStart當display是none selectionStart不是null也不是undefined 亦不是typeof num不是true也不是false 只要一取用他就會造成script停在那裏 不知道算不算是firefox的bug 我最後是在page load的時候才呼叫把div設定成none 變成是先取了selectionStart才變成none暫時解決這個問題 附上我測試的程式碼 <script language="javascript"> function start(){ document.getElementById('c').innerHTML+="start"; /**/ if(document.getElementById('area').selectionStart===null){ document.getElementById('c').innerHTML+="null"; } if(document.getElementById('area').selectionStart===undefined){ document.getElementById('c').innerHTML+="undefined"; } if(typeof(document.getElementById('area').selectionStart)=='number'){ document.getElementById('c').innerHTML+=document.getElementById('area').selectionStart; } if(document.getElementById('area').selectionStart){ document.getElementById('c').innerHTML+="true"; } if(!document.getElementById('area').selectionStart){ document.getElementById('c').innerHTML+="false"; } document.getElementById('c').innerHTML+="over"; } </script> </head> <body onload="start();"> <div id="c"> </div> <form> <textarea name="area" id="area" rows='25' cols='60' style="display:none;"> </textarea> </form> </body> ※ 引述《tn801534 (踢恩)》之銘言: : ※ [本文轉錄自 Ajax 看板] : 作者: tn801534 (踢恩) 看板: Ajax : 標題: [問題] firefox對javascript的支援 : 時間: Tue Jul 8 21:13:57 2008 : wikimap.homeip.net/test1.php : wikimap.homeip.net/test2.php : 差別只是test2.php 的div id="editdiv" style="display:none;"預設設定不顯示 : 以上是我的網頁 : 似乎是因為firefox在預設設定display none的時候他就不執行div裡的javascript : 我猜啦~因為找不到什麼原因了 : 導致按下按鈕後上面的工具欄都不見了 : 有人可以幫我解決這個問題嗎 : ps:ie執行很正常 : 新增按鈕的script在wikimap.homeip.net//wiki/skins/common/edit.js -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.211.217.211 ※ 編輯: tn801534 來自: 218.211.217.211 (07/09 01:19)

07/09 07:45, , 1F
為什麼你要在onload測selectionstart? @@
07/09 07:45, 1F

07/09 07:47, , 2F
換句話說,其實可以先判斷他是不是el.stysl.display=='none'
07/09 07:47, 2F

07/09 07:47, , 3F
再決定是否取用 style
07/09 07:47, 3F

07/09 10:51, , 4F
應該說正常來講不管是不是display應該都可以取用的到阿
07/09 10:51, 4F

07/09 10:53, , 5F
測selectionstart是那個加入按鈕時候的js自己裡面寫的
07/09 10:53, 5F

07/09 10:53, , 6F
是為了看瀏覽器有沒有支援八
07/09 10:53, 6F

07/09 11:03, , 7F
我覺得 "在沒有顯示的狀況下" 預期就不會有selection的發生
07/09 11:03, 7F

07/09 11:03, , 8F
所以所謂的[正常來講] , 應該是在有顯示的狀況下確保可取得
07/09 11:03, 8F

07/09 11:03, , 9F
這樣語意來說才是對的 .
07/09 11:03, 9F

07/09 11:04, , 10F
一般程式通常都會把 [沒有預期的事情] 當作錯誤或例外,
07/09 11:04, 10F

07/09 11:05, , 11F
用default值處理 , 可以增加容錯性 , 但也會增加除錯負擔.
07/09 11:05, 11F

07/09 11:10, , 12F
可是他事實上只是要偵測有沒有支援selectionstart這個功
07/09 11:10, 12F

07/09 11:10, , 13F
能 那沒有顯示有其他方式可以確認嗎
07/09 11:10, 13F

07/09 11:12, , 14F
我回一篇去了 , 在那邊繼續討論吧
07/09 11:12, 14F
文章代碼(AID): #18Sv-07L (Web_Design)
討論串 (同標題文章)
文章代碼(AID): #18Sv-07L (Web_Design)