日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

JavaScript代碼因逗號不規(guī)范導(dǎo)致IE不兼容的問題

在用ExtJS做前端開發(fā)的時候,發(fā)現(xiàn)系統(tǒng)可以在谷歌瀏覽器、火狐下正常顯示,但是用IE瀏覽器打開就會報錯,報錯信息如:Expected identified, string or number 。后來,檢查的代碼的時候發(fā)現(xiàn),是由于js代碼中逗號用的不規(guī)范導(dǎo)致的IE不兼容 。
由于我是用eclipse來寫代碼的,下面我也就介紹怎么用eclipse來解決這個問題:
【JavaScript代碼因逗號不規(guī)范導(dǎo)致IE不兼容的問題】例如有下面這么一段不規(guī)范的代碼:
Ext.onReady(function() {var panel = Ext.create('Ext.container.Viewport', { layout : 'border',items : [{title : 'north panel',html : 'north content',region : 'north',height : 100,}, {title : 'west panel',html : 'west content',region : 'west',width : 150, // 這是備注1}, {title : 'main panel',html : 'main content',region : 'center',/* 這是備注2*/}]});});可以看到,在100、150、center后面都有一個逗號(,),用IE運行的話,其實是會報錯的 。那么既然代碼已經(jīng)寫成這樣了,怎么檢測到這個問題呢!

JavaScript代碼因逗號不規(guī)范導(dǎo)致IE不兼容的問題




圖1:File Search
如上圖1所示,可以用eclipse的File Search功能,利用正則表達(dá)式進(jìn)行搜索,正則表達(dá)式為,s*} 。不過,這有個問題,只能檢索出上面的第一處錯誤,對于加了//或者/**/來注釋的情況,是檢測不出來 。不過,你也可以用yuicompressor這樣的js代碼壓縮工具來壓縮代碼,壓縮的時候會將其中的所有的注釋全部去掉,然后再來檢測壓縮后的js文件即可 。當(dāng)然,你也可以自己寫算法來檢測,不過,這個對于普通人來說還是有難度的!
不過,我建議用另一個方法,就是利用插件,我這里用的是Spket插件,Spket的官網(wǎng)是:http://www.spket.com/,可以到里面去下載Spket的eclipse插件,也可以直接在eclipse的market中下載,下載完以后安裝下這個插件,然后將js文件用spket打開 。
JavaScript代碼因逗號不規(guī)范導(dǎo)致IE不兼容的問題




圖2:利用Spket檢測
如上圖2所示,可以發(fā)現(xiàn)Spket自動的檢測了代碼的不規(guī)范,將其中有問題的地方都標(biāo)注了出來,我是建議用這個方法,因為可以在編寫代碼的時候,就發(fā)現(xiàn)問題,有助于寫出規(guī)范漂亮的代碼!另提一下,有些時候兼容性是因為使用的對象是IE中不存在的,比如console對象,在火狐和谷歌中是存在的,但是在ie中使用console.info就報錯了!所以,記得把一些不兼容的對象從代碼中剔除掉!
以上給大家介紹了JavaScript代碼因逗號不規(guī)范導(dǎo)致IE不兼容的問題,希望對大家有所幫助!
您可能感興趣的文章:Dojo Javascript 編程規(guī)范 規(guī)范自己的JavaScript書寫
javascript異步編程代碼書寫規(guī)范Promise學(xué)習(xí)筆記
html頁面head區(qū)域的編碼書寫規(guī)范
C#書寫規(guī)范
JavaScript開發(fā)規(guī)范要求(規(guī)范化代碼)
javascript代碼規(guī)范小結(jié)
JavaScript的代碼編寫格式規(guī)范指南
現(xiàn)如今最流行的JavaScript代碼規(guī)范
JavaScript常用代碼書寫規(guī)范的超全面總結(jié)

    推薦閱讀