html瀏覽器安全色性的 JavaScript文法,javascript文法
1. 在FireFox中可以使用與HTML節點對象ID屬性值相同的JS變數名稱,但是IE中不行。
解決辦法:在命名上區分HTML節點對象ID屬性值和JS變數
2. IE不支援JS的const,無法定義JS常量
解決辦法:全部用var定義為變數
3. 在JS中書寫URL地址字串時&字元就直接寫為“&”(去掉雙引號),不要寫“&”,否則容易出現URL識別不正常的錯誤
4. 在IE中可以通過showModalDialog和showModelessDialog開啟模式和非強制回應視窗,FireFox下則不能
解決辦法:使用Window.Open方法。 如果需要將子視窗中的參數傳遞迴父視窗,可以在子視窗中使用Window.Opener屬性來訪問父視窗;如果需要父視窗控制子視窗的話,使用Var subWindow = Window.Open(pageURL,Name,Parameters); 來獲得新開的視窗對象
5. 在IE中向表格裡添加一行的方法insertRow()如果不指定參數,預設參數為-1,將自動向Table中追加1行;在FireFox中一定要指定參數如-1,參數為空白會報錯
6. 在IE中可以使用new ActiveXObject()的方法執行個體化對象,如var xmlDom = new ActiveXObject("Microsoft.XMLHTTP");但是FireFox不支援ActiveXObject,只能通過這種方法如var xmlDom = new XMLHttpRequest();執行個體化對象
Javascript擷取innerText,對IE與FF的相容性問題?
一句話必殺,firefox下面沒有innerText,但是你可以用textContent屬性,你可以寫成element.innerText || element.textContent擷取文本
javascript的相容性問題
NS確實不太常用了,但是現階段共存的瀏覽器還有ie6,ie7,ie8,firefox,chrome,opera,等等,基本上分為ie6/ie7,ie8,其他。三大相容類型。
在javascript和css,html的編寫中,這三種類型對頁面的解析不太相同,得到的畫面結果也不太一樣。
所以很遺憾,你不但要考慮相容性,而且還要很小心避開一些特定瀏覽器的文法
最典型的例子:AJAX非同步呼叫的時候,聲明的對象,就分成Firefox和IE兩種,不然的話就會出現不相容。