html - JavaScript面试题:页面编码和被请求的资源编码 ,如果不一致,如何处理?百度上搜到一个答案,不知道是否正确?
伊谢尔伦
伊谢尔伦 2017-04-11 10:27:45
0
1
1738

js编码和页面编码不一致,导致提示变量未定义的解决方法 (2011-06-30 10:27:02)转载▼
标签: js跨域 变量未定义 js编码 it 分类: JS
今天在测试项目的时候,由于是和其他站合作的,引用合作方的js文件,
有个js函数调用,调用时会使用包含合作方js里的变量,
可是竟然不兼容ie6、ie7、360等主流浏览器。那必须得解决是吧。
原本以为是跨域问题,如果是跨域问题,也应该提示没权限,可是没提示。

提示的是某某变量未定义,我就百度了。 没找到我想要的答案,
灵机一动想到是不是编码问题 。于是在js后加了 charset="utf-8" 这个 。

发现还真好了。 。 绕了好些圈子 。 这次记下了。避免下次再遇到类似的状况。

比如:http://www.yyy.com/a.html 中嵌入了一个http://www.xxx.com/test.js

a.html 的编码是gbk或gb2312的。 而引入的js编码为utf-8的 ,那就需要在引入的时候

<script src="http://www.xxx.com/test.js" charset="utf-8"></script>
同理,如果你的页面是utf-8的,引入的js是gbk的,那么就需要加上charset="gbk".
----------------------百度上搜到一个答案,不知道是否正确?---------------

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全員に返信(1)
伊谢尔伦

没碰到过这样的问题。但理论上讲,js代码里面的DOM操作使用的element等等应该是ASCII的。那么就不存在问题。如果要在DOM里面假如UTF-8的字符,可能需要转码了。随便bing了一下"javascript utf8转gbk",还挺多。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート