javascript也存在编码问题--js点滴

    这几天写了一个树形javascript组件。准备在现在的项目中使用。结果今天一和项目结合。发现明明在html中引入了我的js文件。但是ie总是报错说某某对象不能识别。显然是没有引入成功的问题。

    于是就带着莫名其妙的感觉查找原因,在项目环境里不能运行。把原来在文件系统的例子代码拷贝到项目中就能运行。查找不同点,结果发现文件系统中的html用的

 

        <meta http-equiv="Content-Type" content="text/html; charset=gbk">

 

项目中的文件用的

 

        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

 

于是编码问题就呈现在眼前。

 

    可以说javascript字符兼容性是非常弱智的,即使是字符在注释当中。我记起了当时用dreamweaver和editplus打开例子文件的时候,呈现不通的情况,就是有的中文注释中的中文字符是乱码。当然我提前已经把组件的js文件编码类型变为utf-8。出错的原因也不仅仅在与此,还有就是页面也引入了项目的共通的js文件,而且两个共通文件的编码类型存在差异。也就是说,一个html引入了不同编码类型的javascript文件,服务器或者是ie浏览器没有能够正确的识别之。

 

    于是,我把组件js文件中的乱码删除,换之以英文注释。问题就突然解决了。

 

     所以,给自己也给大家一个建议,在多人开发的时候,写js文件也要统一编码,而且尽可能的用英文注释。中文之让他出现在html中的js中。

 

 

2010-04-29

今天终于要把这篇文章设定为综合性文章了。

关于IE的判断

可用如下两种方法,算是最为简单

方法1:
var ie = !-[1,]; 
   alert(ie); 

if(-[1,]){
     alert("这不是IE浏览器!");
}else{
     alert("这是IE浏览器!");
}


方法二:
var ie = !+"\v1";

 通常我们经常用其他的一些特性(比如js之间方法的差异)来判断IE与非IE。而上述两种方法则是利用更少的资源来判断。方法引自http://www.iteye.com/topic/654801

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值