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)致的中文亂碼問題。