JS包含在HTML文件中正常,包含在ASPX文件中就报错
今天用到了一段显示谷歌地图的JS代码,在Html中显示正常的,但是在Aspx页面中老是出现错误
提示:jquery.ui.spinner.js里面找不到对象
原因分析:
1、使用Html引用JS时,类似下面的头部样式
<metaname="GENERATOR"content="MicrosoftVisualStudio.NET7.1">
<metaname="ProgId"content="VisualStudio.HTML">
<metaname="Originator"content="MicrosoftVisualStudio.NET7.1">
2、使用Aspx调用JS时,类似下面的头部样式
<METAhttp-equiv=Content-Typecontent="text/html;charset=utf-8">
<METAcontent="MSHTML6.00.3790.2577"name=GENERATOR>
<METAcontent=C#name=CODE_LANGUAGE>
<METAcontent=JavaScriptname=vs_defaultClientScript>
结论:是编码的问题,Aspx默认是utf-8的编码方式
备注:将aspx生成的html的头中的uft-8改为gb2312
<METAhttp-equiv=Content-Typecontent="text/html;charset=gb2312">
直接打开该修改后的html,错误消失;但在aspx.cs中指定使用gb2312,页面的运行就会乱码。
解决问题:
在web.config中加入:
<system.web>
<globalizationresponseEncoding="gb2312"requestEncoding="gb2312"fileEncoding="gb2312"/>
<system.web>