evan93

ie和firefox的javascript区别

2018-02-08 11:27  Evan  阅读(27)  评论(0编辑  收藏  举报

ie和firefox的区别:

  • 注意大小写,要不你会很吃亏的,有的时候问题就是因为一个字母的问题,IE虽然没问题;
  • firefox中的表单提交
    • firefox中的表单提交真是让人头大!当然可以使用经典的submit类型按钮提交,但那样很不灵活。大家都喜欢使用script语句来提交form,真正做到随心所欲,至少我喜欢:)。有几点需要注意:
      1. 获得form时应使用getElementById()方法!(有的兄弟习惯用form1.submit(),这样是不行的);
      2. 要用.submit()方法,这个也没什么说的,一目了然嘛;
      3. button的name,id绝对不能命名为“submit”,不然死都不知道怎么死的;
      4. form中所有的组件(按钮,文本框等等)的name,id也不能命名为“submit”,这个问题是想当的隐蔽只要遵循以上四点,form的提交就没问题了;
  • IE与FireFox的showModalDialog
    • 有時我們會希望使用者按下按鈕後開啟一個保持在原視窗前方的子視窗,而在IE中,我們可以使用showModalDialog來達成,語法如下 : vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures]) 範例:window.showModalDialog("openwin.html","Arguments","dialogHeight: 200px; dialogWidth: 200px; dialogTop: 10px; dialogLeft: 10px; edge: Raised; center: Yes;help: Yes; resizable: Yes; status: Yes;"); 但是.在Firefox中卻沒有showModalDialog這東西,而在FireFox中我們只能使用window.open實現這樣的功能,window.open的語法如下 :oNewWindow = window.open( [sURL] [, sName] [, sFeatures] [, bReplace]) 只是,在Firefox下,window.open的參數中,sFeature多了一些功能設定,而在FireFox下要讓開啟的視窗跟IE的showModalDialog一樣的話,只要在sFeatures中加個modal=yes就可以了,範例如下:window.open(\'openwin.html\',\'newWin\',\'modal=yes,width=200,height=200,resizable=no,scrollbars=no\');提到了子視窗,不得不提的就是子視窗跟母視窗間的交互操作,因為我想很多人開啟對話視窗應該都是為了將操作完的結果丟回去給母視窗…
  • oImg.height属性在Firefox中不支持;
  • 创建对象;
    • ie创建对象:msXmlAx=new ActiveXObject("Microsoft.XMLDOM");
    • firefox创建对象:xDoc=document.implementation.createDocument("","",null);
  • insertRow和insertCell
    • 在ie中可直接调用该方法 document.getElementById("xxx").insertRow();
    • 在firefox 中需要放置参数:document.getElementById("xxx").insertRow(-1);
  • firefox 中无法像ie一样通过documentElement得到xml文本对象的所有元素信息,可以使用替换法:创建XMLHttpRequest对象,通过它的responseXML返回的xml对象进行操作;
  • firefox中不支持window.event

解决方法:document.onclick=function(e) 要兼容firefx的话,这个参数一定要写上:{e = window.event

e;e = e.srcElement e.target}
  • firefox不支持parentElement,若要使用可写成:parentNode;
  • ifream加载中 使iframe的高度根据所加载页的高度而改变
    • 网上有代码为:
      • <iframe onload="document.all.demo.height=document.framesdemo?.document.body.scrollHeight" src="demo.htm" />
  • 代码没有问题,只是在Firefox中不能实现想要的效果,改为:
    • document.getElementById(\'demo\').height=window.framesdemo?.document.body.scrollHeight

Comment by andy.han on 06/16/08 11:15:18

Firefox要安装Firebug的扩展,方便发现语法错误,必要的时候可以断点调试。

Comment by zhaoweimin on 06/16/08 11:53:14

楼主使用的FIREFOX是什么版本?我使用最新稳定版的FIREFOX2.0.0.14和最新测试版FIREFOX3RC2测试window.open…..modal=yes 仍然不是模式的?

分类:

技术点:

相关文章:

  • 2021-11-23
  • 2022-01-29
  • 2022-02-02
  • 2022-12-23
  • 2022-01-05
猜你喜欢
  • 2021-12-23
  • 2021-07-02
  • 2021-06-11
相关资源
相似解决方案