当前位置:首页 > JavaScript 笔记 > a href=#与X-UA-Compatible标签完整解读

a href=#与X-UA-Compatible标签完整解读

snuday14年前 (2011-03-08)JavaScript 笔记89
  1. <a href="javascript:void(0)"  onClick="<%=onclick%>">点击</a>  

 #包含了一个位置信息

默认的锚点是#top 也就是网页的上端

而javascript:void(0)  仅仅表示一个死链接

这就是为什么有的时候页面很长浏览链接明明是#可是

跳动到了页首

而javascript:void(0) 则不是如此

所以调用脚本的时候最好用void(0)

 

 

X-UA-Compatible是神马?
X-UA-Compatible是IE8的一个专有<meta>属性,它告诉IE8采用何种IE版本去渲染网页,在html的<head>标签中使用。可以在微软官方文档获取更多介绍。

为什么要用X-UA-Compatible?
在IE8刚推出的时候,很多网页由于重构的问题,无法适应较高级的浏览器,所以使用X-UA-Compatible标签强制IE8采用低版本方式渲染。

使用下面这段代码后,开发者无需考虑网页是否兼容IE8浏览器,只要确保网页在IE6、IE7下的表现就可以了。

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />时至今日,IE6已被微软判了死刑,我们在重构时应首先考虑更完善的IE8下的体验,然后依次回退兼容IE7和6。令我担忧的情况是当IE9正式发布时如果IE6在国内还没被淘汰,那么将出现前端工程师需要面临4个IE版本的疯狂局面(且4个版本显示差异较明显)。

给网站添加X-UA-Compatible标签
我建议使用下面的X-UA-Compatible标签:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />IE=edge告诉IE使用最新的引擎渲染网页,chrome=1则可以激活Chrome Frame[1]。

网页中添加方法
在<header>下面添加上述代码即可。Wordpress则在主题header.php文件里做修改。

这样的方法简单快捷,但是弊端是代码将无法通过W3C验证。其实这并不是问题,毕竟标准只是标准,如果只有这一个“错误”完全不会有任何不良的影响。

当然你可能像Sivan一样有代码洁癖和一定程度的标准癖,那么我们还可以从服务器端进行这个设置,请继续往下看。

Apache服务器设置方法
嗯⋯⋯我们可以在Apache主机做一些设置让服务器告诉IE采用何种引擎来渲染。在网站作用目录找到或新建.htaccess文件,添加下面的内容保存即可。

<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
BrowserMatch MSIE ie
Header set X-UA-Compatible "IE=Edge" env=ie
BrowserMatch chromeframe gcf
Header append X-UA-Compatible "chrome=1" env=gcf
</IfModule>
</IfModule>Nginx服务器设置方法
现在很多朋友使用Nginx作为搭建环境,当然也是OK的。找到\nginx\conf\nginx.conf并编辑,在server { }区域里(最好是闭合符前面起一行)添加下列代码即可

add_header "X-UA-Compatible" "IE=Edge,chrome=1";不清楚具体位置的请参考paul irish的配置文件。

好啦,上面就是3种常用的添加方法。我认为这个标签主要是为重构者服务,如果代码的兼容性很强那么不用也罢。

Chrome Frame[1]:Chrome Frame可以让旧版IE浏览器使用Chrome的WebKit渲染引擎处理网页,因此旧版IE用户可以体验到包括HTML5在内的众多现代网页技术。
 

X-UA-Compatible是神马?
X-UA-Compatible是IE8的一个专有<meta>属性,它告诉IE8采用何种IE版本去渲染网页,在html的<head>标签中使用。可以在微软官方文档获取更多介绍。

为什么要用X-UA-Compatible?
在IE8刚推出的时候,很多网页由于重构的问题,无法适应较高级的浏览器,所以使用X-UA-Compatible标签强制IE8采用低版本方式渲染。

使用下面这段代码后,开发者无需考虑网页是否兼容IE8浏览器,只要确保网页在IE6、IE7下的表现就可以了。

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />时至今日,IE6已被微软判了死刑,我们在重构时应首先考虑更完善的IE8下的体验,然后依次回退兼容IE7和6。令我担忧的情况是当IE9正式发布时如果IE6在国内还没被淘汰,那么将出现前端工程师需要面临4个IE版本的疯狂局面(且4个版本显示差异较明显)。

给网站添加X-UA-Compatible标签
我建议使用下面的X-UA-Compatible标签:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />IE=edge告诉IE使用最新的引擎渲染网页,chrome=1则可以激活Chrome Frame[1]。

网页中添加方法
在<header>下面添加上述代码即可。Wordpress则在主题header.php文件里做修改。

这样的方法简单快捷,但是弊端是代码将无法通过W3C验证。其实这并不是问题,毕竟标准只是标准,如果只有这一个“错误”完全不会有任何不良的影响。

当然你可能像Sivan一样有代码洁癖和一定程度的标准癖,那么我们还可以从服务器端进行这个设置,请继续往下看。

Apache服务器设置方法
嗯⋯⋯我们可以在Apache主机做一些设置让服务器告诉IE采用何种引擎来渲染。在网站作用目录找到或新建.htaccess文件,添加下面的内容保存即可。

<IfModule mod_setenvif.c>
<IfModule mod_headers.c>
BrowserMatch MSIE ie
Header set X-UA-Compatible "IE=Edge" env=ie
BrowserMatch chromeframe gcf
Header append X-UA-Compatible "chrome=1" env=gcf
</IfModule>
</IfModule>Nginx服务器设置方法
现在很多朋友使用Nginx作为搭建环境,当然也是OK的。找到\nginx\conf\nginx.conf并编辑,在server { }区域里(最好是闭合符前面起一行)添加下列代码即可

add_header "X-UA-Compatible" "IE=Edge,chrome=1";不清楚具体位置的请参考paul irish的配置文件。

好啦,上面就是3种常用的添加方法。我认为这个标签主要是为重构者服务,如果代码的兼容性很强那么不用也罢。

Chrome Frame[1]:Chrome Frame可以让旧版IE浏览器使用Chrome的WebKit渲染引擎处理网页,因此旧版IE用户可以体验到包括HTML5在内的众多现代网页技术。
 


标签: JS代码

相关文章

非常简单的设为首页、加入收藏代码(兼容所有浏览器.....)

      今天在网站主页上要用到一个简单的代码,设为首页和加入收藏,本以为挺容易的,但不曾想找了好久也没有随心的代码,最终还是在自己的sunnday...

同页面多个JS冲突一般性解决方法+EcShop JS一般性总结(1)

1、一般JS冲突解决办法a.最容易出现的就是JS 的命名冲突①、变量名冲突变量有全局变量和局部变量当全局变量变量和局部变量名称一致时,就会js冲突,由于变量传递数值或地址不同就会产生JavaScrip...

jquery与其他js文件中变量冲突,解决方法

jQuery 使用 $ 符号作为 jQuery 的简介方式。某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号。jQuery 使用名为 noConflict()...

JavaScript函数以及基础写法精华收录

1.document.write("");为 输出语句2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head,body)4.一个...

JS中event事件在兼容IE、火狐(Firefox)处理办法

前期用到了一个键盘左右键控制翻页的js,在ie里面直接就可以使用,可在火狐(firefox)里面就是不好使,想了半天怎么也不可能不好使呀,所以找了多方资料才知道,原来火狐对于js中event事件不解析...