DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> CSS詳解 >> IE和Firefox下編寫Javascript的區別(1)
IE和Firefox下編寫Javascript的區別(1)
編輯:CSS詳解     

你對IE和Firefox下編寫Javascript的區別是否了解,這裡和大家簡單分享一下,相信本文介紹一定會讓你有所收獲。

IE和Firefox下編寫Javascript的區別

除了CSS以外,IE和FF對Javascript寫法有時也不同,也是讓人頭痛的問題,下面介紹些常用的區別。其中IE代替InternetExplorer,以MF代替MozzilaFirefox。

1.document.form.item問題

(1)現有問題:
現有代碼中存在許多document.formName.item("itemName")這樣的語句,不能在MF下運行
(2)解決方法:
改用document.formName.elements["elementName"]
(3)其它
參見2

2.集合類對象問題

(1)現有問題:
現有代碼中許多集合類對象取用時使用(),IE能接受,MF不能。
(2)解決方法:
改用[]作為下標運算。如:document.forms("formName")改為document.forms["formName"]。
又如:document.getElementsByName("inputName")(1)改為document.getElementsByName("inputName")[1]
(3)其它

3.window.event

(1)現有問題:
使用window.event無法在MF上運行
(2)解決方法:
MF的event只能在事件發生的現場使用,此問題暫無法解決。可以這樣變通:
原代碼(可在IE中運行):

  1. <inputtypeinputtype="button"name="someButton"value="提交"onclick=""/>
  2. ...
  3. <scriptlanguagescriptlanguage="Javascript">
  4. functiongotoSubmit(){
  5. ...
  6. alert(window.event);//usewindow.event
  7. ...
  8. }
  9. script>

新代碼(可在IE和MF中運行):

  1. <inputtypeinputtype="button"name="someButton"value="提交"onclick=""/>
  2. ...
  3. <scriptlanguagescriptlanguage="Javascript">
  4. functiongotoSubmit(evt){
  5. evtevt=evt?evt:(window.event?window.event:null);
  6. ...
  7. alert(evt);//useevt
  8. ...
  9. }
  10. script>


此外,如果新代碼中第一行不改,與老代碼一樣的話(即gotoSubmit調用沒有給參數),則仍然只能在IE中運行,但不會出錯。所以,這種方案tpl部分仍與老代碼兼容。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved