web開發(fā)有很多的難點,如:各瀏覽器之間的兼容性問題、sql注入、this指向問題、ajax跨域問題等等。前不久,幫客戶定制了一款系統(tǒng),該系統(tǒng)中的js文件是utf-8編碼,而客戶網(wǎng)頁是需要引入該js文件的,但客戶網(wǎng)頁存在UTF-8和gbk編碼,該js文件有向后臺交互提交數(shù)據(jù)的功能,采用動態(tài)加載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編碼的網(wǎng)頁引入后,直接報錯,功能不可用,翻看手冊,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);
})();
溫馨提示,建議網(wǎng)頁編碼還是以utf-8好些,基本上開源js項目均采用這一編碼,通用性強。避免了因編碼問題導(dǎo)致的中文亂碼問題。
