`
zhoushu126
  • 浏览: 81706 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

同一页面引入多个JS文件的编码问题

    博客分类:
  • JS
阅读更多

非原创,文章出处:http://www.jmphp.com/387.html

 

原来只是觉得IE解析HTML文件的时候,需要知道其传输编码,才能正确处理,而从来没有在意过JavaScript文件的编码问题。结果今天发现同一页面中的多个JavaScript文件如果保存编码不同,也会有出错的问题。这个一般怎么会遇到呢?
原来写的js文件,从来没有关心过他们的编码问题。可是后来不知怎么的,发现一些单独都好使得文件,被同时引用到一个页面中时,就错误不断,根本不能执行。Debug半天,原来是文件编码问题搞得鬼。
一般我们在中文OS中保存文本文件,默认都是一GB2312编码保存的,比如VS.NET 2003,2005都是这样。可是当我们在脚本代码中写有"?"这些符号后,保存文件会提示让你保存为Unicode格式。如果你不加理会,仍然保存为 GB2312,那么下次打开这个文件你会发现"?"变成"?"@_@。这样的字符还有一些,比如在Windows中的高位ASCII字符,它们的 Unicode定义就是一些比较怪异的字符,如果用GB2312强行存这些字符,打开后会被两两合并为汉字或成为乱码。
回到我们脚本文件编码的问题上来,如果我们在同一个页面中引用多个JavaScript文件,而这些文件的保存编码又不同(有GB2312有又 Unicode),就可能出错。当然不是总都出,这也是最要命的。由于对于7bit ASCII码,不管什么编码都是通用的,也不会有解码问题,可是如果文件里包含了汉字,就有可能出错了。
比如,GB2312保存的js文件: var str = '这是一个GB2312编码文件。';
var description = 'this file saved as GB2312 encoding.';    可以在选择编码为GB2312的IE中正确的被引用。
Unicode编码保存的js文件: var strW = '这是一个Unicode编码文件。';
var descriptionW = 'this file saved as Unicode encoding.';    可以在选择编码为Unicode的IE中正确的被引用。
而这两个文件在下列引用中,不管怎么选择IE编码也是不能正确执行结果:( <html>
<head>
<title>Test Encode</title>
<script src="Unicode.js" language="javascript"></script>
<script src="GB2312.js"  language="javascript"></script>
</head>
<body>
<script language="javascript">
alert(strW + '\r\n' + descriptionW);
alert(str + '\r\n' + description);
</script>
</body>
</html>
不过如果js中只有低位ASCII字符,不同编码的文件引用到一个页面不会有问题。
分享到:
评论

相关推荐

    multiview:在同一页面上观看多个视频

    通过以上分析,我们可以看出“multiview:在同一页面上观看多个视频”是一个涉及前端开发、视频处理、资源管理等多个领域的复杂任务,而TypeScript的引入则能为项目的开发提供更强大的工具和保障。

    汉字转拼音首字母 js文件免费下载

    在实际应用中,开发者只需要引入这个js文件,然后调用相应的函数,就能将输入的汉字转换为拼音首字母。 总的来说,这个压缩包提供了一个方便的JavaScript解决方案,用于将汉字转换为拼音首字母,适用于需要此类功能...

    海康威视web3.0,亲测可用

    1. 引入插件:在HTML页面中引入该JS文件,确保浏览器能够正确加载并执行其中的代码。 2. API调用:根据需求选择合适的API,按照指定的参数格式进行调用。 3. 事件监听:通过监听设备状态变化、用户交互等事件,实现...

    Ext JS 4.0编码规范

    页面中引用 Ext JS 类库的方式取决于静态文件与应用是否部署在同一服务器上: - **静态文件与应用部署在同一服务器**: ```html &lt;script type="text/javascript" src="/static/extjs/ext-4.0.7/bootstrap.js"&gt; ...

    重新生成文件域

    例如,当用户需要连续上传多个文件时,可以使用JavaScript动态更新文件域,使得用户每次都能选择新的文件,而不会被之前的文件选择所限制。这可以通过改变`&lt;input&gt;`元素的`value`属性或者替换整个元素来实现。 4. *...

    jspsmartupload

    6. **多文件上传**: 支持一次上传多个文件,用户可以在同一表单中选择多个文件进行批量上传。 7. **文件预览与下载**: SmartUpload提供了文件预览的功能,用户可以在上传后立即查看文件内容。同时,它也简化了文件...

    百度编辑器asp版UTF-8编码

    在ASP项目中使用百度编辑器,开发者需要将编辑器的JavaScript和CSS资源引入到页面中,配置相应的服务器端处理程序来接收和处理编辑器提交的数据。同时,确保服务器端脚本(如ASP文件)和数据库设置支持UTF-8编码,...

    规范定制(网页设计).pdf

    本文档旨在提供一套完整的网页设计规范,涵盖文件组织、HTML、CSS以及JavaScript等多个方面。 首先,文件组织要遵循一定的规则。HTML、CSS、JavaScript和图片文件应存放在指定的目录中,例如&lt;系统开发规范&gt;下的相应...

    screenshot.js:屏幕截图lib编码与js

    在实际项目中,screenshot.js可以广泛应用于多个场景。例如,在在线教育平台,学生可以使用此功能截取课程页面作为学习笔记;在社交媒体应用,用户可以分享当前浏览的网页给朋友;在开发者工具中,它可以用于生成...

    文件上传DEMO 可以直接拿来用的

    3. **分块上传(Chunked Upload)**:对于大文件,可以采用分块上传的方式,将文件分成多个部分,逐个上传,然后再服务器端进行拼接。这种方式适用于云存储服务或大文件共享平台。 4. **WebSocket**:实时性要求较...

    flv.js+flv.min.js的常规使用.zip

    3. 视频源与跨域:如描述所述,如果视频文件与FLV.js不在同一服务器上,或者需要从远程服务器获取视频流,需确保服务器允许跨域访问(CORS)。在服务器端设置适当的响应头,例如`Access-Control-Allow-Origin`。 三...

    与jqeury无冲突的uchome编辑器

    然而,当多个库或插件在同一页面上使用时,可能会出现命名冲突,尤其是当它们都使用"$"作为主要函数名时。"与jQuery无冲突的uchome编辑器"就是为了解决这个问题而设计的。 UChome是一个流行的开源社区建站系统,它...

    Web前端编码规范

    #### JavaScript编码规范 1. **JS文件组织**: - 所有的JavaScript代码应当被组织在单独的`.js`文件中,并通过`&lt;script type="text/javascript" src="xxx.js"&gt;&lt;/script&gt;`的方式在HTML文档中引入。 - 避免在HTML...

    微信小程序 AES加密 ECB模式js文件

    在微信小程序中实现AES加密,开发者需要编写或引入一个JavaScript工具类。这个工具类通常包括加密和解密两个主要方法。加密过程通常包括以下步骤: 1. **密钥生成**:AES需要一个固定长度的密钥(128、192或256位)...

    js中文汉字转为Gb2312

    在JavaScript中,将中文汉字转换为GBK(GB2312)编码是一个常见的需求,特别是在处理与老式系统或浏览器兼容性问题时。GBK是中国大陆广泛使用的简体中文字符集,它扩展了GB2312,包含了更多的汉字和符号。在...

    jQuery手机省市区城市三级联动选择代码

    这里可能有一个或多个JavaScript文件,用于处理用户交互、数据加载以及与服务器的通信(如果需要的话)。 在实际应用中,为了支持设置默认热门城市地区,开发者可能需要在JavaScript代码中预定义一些常用城市的值,...

    推荐网页制作规范

    3. **相同功能的文件使用下划线连接多个单词**:例如,`news_01.htm`表示新闻列表的第一个页面,`news_018.htm`则表示第18个新闻页面。 #### 二、图像命名规范 1. **图像分类**:按照图像的用途进行分类,如导航栏...

    Web前端编码规范[文].pdf

    1. 所有 JS 代码应写在一个 .js 文件中,使用 `&lt;script type="text/javascript" src="xxx.js"&gt;&lt;/script&gt;` 引入,不在 HTML 文件中直接写 JS 代码。这可以提高代码的组织性和可维护性。 2. `&lt;script&gt;` 标签的 ...

    雅虎网站页面性能优化(全部),个人搜集,比较全面

    **概述**:DNS查询会占用一定的网络资源,尤其是在网页中引入多个不同域名的内容时更为明显。首次访问这些域名时,DNS解析过程可能导致延迟。 **策略**: - 尽量避免在网页中使用来自不同域名的内容,比如外部图片...

    XSS漏洞攻击与防护源代码

    2. 存储型XSS:又称持久性XSS,是更为危险的一种,因为恶意脚本会被存储在服务器上,并在多个用户访问同一页面时执行。比如在论坛发帖或评论时,如果服务器没有对用户输入进行适当的验证和清理,攻击者可以插入恶意...

Global site tag (gtag.js) - Google Analytics