不同浏览器的javascript的差别?

在火狐的MDN上,我看到HTMLAnchorElement interface,是不是对应w3c上的HTML DOM Anchor 对象?w3c不是实现的标准吗?这样是不是其它浏览器都有不同的实现机制?比如chrome或opera对HTML DOM Anchor 对象有自己的实现,又不同于火狐的HTMLAnchorElement,这样在不统一的情况下,写实现代码岂不是很麻烦?请高手赐教。

我也不是高手,随便发表发表自己的看法。确实js在不同浏览器存在差异,不止你说的这么问题。在二级DOM事件绑定上IE和其他浏览器也不一样。这是是必须面对的问题。

怎么解决,一个是自己根据浏览器事件的异同写方法,比如:

var eventUtil={
        //绑定click事件
        addbind:function(htmlObj,incident,func){
           if(htmlObj.addEventListener){
               htmlObj.addEventListener(incident,func,false);
           }else if(htmlObj.attchEvent){
               htmlObj.attachEvent("on"+incident,func);
           }else{
               htmlObj["on"+incident]=func;
           }
        }
  }

这个方法就是根据浏览器根据判断浏览器支持的DOM级别来给元素绑定click事件。


第二个就是使用一些js库,比如jquery,它已经办我们解决了绝大部分浏览器兼容问题。

追答

是的,w3c有个标准。但是并不是浏览器并并没有全部按照这个标准来。

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-17
那只是浏览器渲染出来的东西,浏览器有自己的渲染方式,但是语法是遵守w3c标准的。
Anchor就是anchor
不管什么浏览器里面<a href=""></a>
这个东西都是超链接,href里面都是目标地址,因为这是遵守了w3c标准的。
当然,浏览器不同的是对css和Js的某些支持。
所以叫浏览器的兼容性
按照W3C和JS|CSS的标准来构建的代码,所出现的不统一情况很少,在有差别的情况下,就要使用兼容性调试去解决它,保证浏览器的页面的一致性。追问

嗯,谢谢你的回答,不过网友纯洁的小树先回答了且是正确的,所以选他了,不好意思。

javascript在使用过程中,浏览器之间存在什么样的差异
IE:不支持 const 关键字。如 const constVar = 32; 在IE中这是语法错误 Firefox:支持 解决方法:不使用 const ,以 var 代替。11.body 对象 IE:在body标签完全被读入之后才存在 Firefox:在body标签没有被浏览器完全读入之前就存在 12.自定义属性问题 IE:可以使用获取常规属性的方法来获取自定义...

javascript 代码在不同的IE浏览器下CPU占用率不同
因为每种浏览器的JS引擎不同,JS性能也就不同,早期的浏览器,如IE6,7,8的JS执行效率都是很低的,所以你可以看到CPU占用率很高。比如,你可以试试JQuery的slideUp和slideDown两个函数,占用率都非常高 遇到这种情况,有可能是代码问题,也有可能是浏览器JS性能问题。其实只要不是长期占用率那么高,...

不同浏览器的javascript的差别?
我也不是高手,随便发表发表自己的看法。确实js在不同浏览器存在差异,不止你说的这么问题。在二级DOM事件绑定上IE和其他浏览器也不一样。这是是必须面对的问题。怎么解决,一个是自己根据浏览器事件的异同写方法,比如:var eventUtil={ \/\/绑定click事件 addbind:function(htmlObj,incident,func)...

javascript 程序在不同的浏览器上运行时,将一定得到相同的效果
不一定,JS是需要考虑浏览器兼容性的

javascript不同浏览器frame load效果不同的问题
不要用 document.all去判断ie了,因为chrome也支持了。另外从ie9开始也支持 onload 函数了。 你可以这么写:if(Iframe.onload != undefined){ \/\/TODO : your code for onload function}else { Iframe.onreadystatechange = function(){} }

怎么开启javascript?
为了提升网站的交互性和功能,JavaScript在现代网页设计中扮演重要角色。若浏览器禁用了JavaScript,可能会影响用户体验。以下是针对不同浏览器开启JavaScript的详细步骤:IE浏览器: 在“工具”-“Internet选项”-“安全”-“Internet”设置中,找到“Java小程序脚本”并启用,然后重启浏览器。 360浏览器: 在...

用javascript给网页换肤,能在不同的浏览器上看是一样的颜色吗
而javascript 记录一些信息是可以的比如用cookie,但是这些信息知识记录在客户端代理(浏览器)上的。所以当IE切换了火狐并没有记录,还是会去加载默认的红色样式表。并且在别人的电脑的IE浏览器也是加载的默认的。所以不能。解决方法:结合数据库存储一下客户设置的样式,每次加载的时候读取一下数据库,然后...

浏览器外的Javascript运行环境有哪些?
浏览器外要运行javascript的代码,同样需要这个东西。ie老版本的JScript,ie9以后的Chakra,mozilla的SpiderMonkey,chrome的v8,Safari的Nitro,KDE Konqueror的KJS,js之父用javascript写的Narcissus,java语言写的Rhino,等等,都是js引擎,都能独立在浏览器之外运行。Node.js不是js引擎,其使用的是v8。webkit...

在浏览器里运行javascript代码有哪些方法?
1、浏览器控制台运行 JavaScript不同于java语言或者c语言,需要环境、需要编译再运行,js在被制造出来时,就是为浏览器而生,可以直接在浏览器里运行,这里以谷歌浏览器为例,鼠标右键检查或者快捷键F12即可看到控制台可以理解为操作系统里的命令行模式 在这里就可以直接输入我们想输入的js代码,回车即可查看代码执行结果 在...

浏览器开启JavaScript方法
1、IE浏览器开启关闭JavaScript方法:在IE界面菜单栏中“工具”中选择“Internet选项”–“安全”选项卡–选择“Internet”(蓝色的小地球)–“自定义级别”–找到“脚本”下的“Java小程序脚本”中进行启用。如下图所示,设置完成后,重新打开浏览器设置即可生效。2、360浏览器开启Ja关闭vaScript方法:在...

相似回答