web开发有很多的难点,如:各浏览器之间的兼容性问题、sql注入、this指向问题、ajax跨域问题等等。前不久,帮客户定制了一款系统,该系统中的js文件是utf-8编码,而客户网页是需要引入该js文件的,但客户网页存在UTF-8和gbk编码,该js文件有向后台交互提交数据的功能,采用动态加载js的方式,代码如下:
var _wx_s_t_q = _wx_s_t_q || {}; (function() { var wx = document.createElement("script"); wx.src = "xx/request.js?"+new Date().getTime(); var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(wx, s); })();
被gbk编码的网页引入后,直接报错,功能不可用,翻看手册,script对象有chaset属性,于是稍加修改,指定了编码为:utf-8,一切正常,最终代码如下:
var _wx_s_t_q = _wx_s_t_q || {}; (function() { var wx = document.createElement("script"); wx.charset = 'UTF-8'; wx.src = "xx/request.js?"+new Date().getTime(); var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(wx, s); })();
温馨提示,建议网页编码还是以utf-8好些,基本上开源js项目均采用这一编码,通用性强。避免了因编码问题导致的中文乱码问题。