2

我在 Visual Studio 2012 上使用 .Net 4.0 freamworok。我第一次启动的网站在 Internet Explorer 10 上出现以下错误。其他浏览器(Google Chrome、Firefox ..)工作正常。


... SCRIPT1002第 2 行第 1 列的 JavaScript 严重错误 :语法错误

我的 jquery 脚本文件已在母版页中设置。

<head runat="server">
<script src="<%# ResolveUrl("~/") %>Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>

我无法弄清楚问题所在。你能帮助我吗?

4

5 回答 5

5

SCRIPT1002 消息的完整文本提供了一个线索,即语法错误脚本部分

siteZ.domainQ/mypage SCRIPT1002 中第 x 行第 y 列的 JavaScript 严重错误:语法错误脚本部分

对我来说,我的 _Layout.cshtml 或 Index.cshtml 引用了脚本或样式不存在的虚拟路径。

<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My Bubble</title>
@Styles.Render("~/Content/ErrorPathDoesNotExist/css")
</head>

或者

@section Scripts{
@Scripts.Render("~/bundles/ErrorPathDoesNotExist")
}

我通过删除或更正 @Styles.Render 或 @Scripts.Render 语句中的无效虚拟路径解决了我的错误。

有关详细信息,请参阅有关捆绑、缩小和优化的 Microsoft 文档。

于 2014-03-31T07:25:35.003 回答
5

可能你已经解决了你的问题。但仍然没有公认的答案。所以这是另一个。

const当我在我的 javascript 文件中使用时,我遇到了同样的错误。当我更改const IDLE = 0;var IDLE = 0;我的问题时解决了。

Const 在 chrome、Firefox 和 IE 11 中工作。

有关更多信息和浏览器兼容性,请参阅: https ://developer.mozilla.org/nl/docs/Web/JavaScript/Reference/Statements/const

于 2015-08-05T11:02:49.640 回答
3

对不起,我不太懂英语。

我认为您的代码中存在一些问题。

  1. 在服务器端赋值前后使用单引号(')而不是双引号(") ;因为ResolveUrl方法对其字符串参数使用双引号,并且这种双引号序列违反了 XHTML Well-Form ness 规则。

  2. 使用等号(=)而不是井号(#)。哈希符号应在数据绑定表达式中使用。

  3. 您可以将完整的资源路径作为参数传递给ResolveUrl方法。

  4. 如果Scripts文件夹在网站根目录下,则无需使用ResolveUrl;您可以只使用“/Scripts/jquery-1.7.2.min.js”作为src属性的值。

  5. 为保证jQuery的准确性和完整性,请从其官网重新下载。

  6. IE 10 中存在一些 JavaScript 兼容性问题。使用X-UA-Compatible元标记来规范 IE。

应用前面几点后的代码:

<head runat="server">
    <meta http-equiv="X-UA-Compatible" content="IE=9" />
    <script src='<%= ResolveUrl("~/Scripts/jquery-1.7.2.min.js") %>' type="text/javascript"></script>    
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>

或者(没有服务器端路径解析)

<head runat="server">
    <meta http-equiv="X-UA-Compatible" content="IE=9" />
    <script src="/Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>

祝你好运!

一些有用的链接:

于 2013-07-15T22:43:12.040 回答
2

我解决它的方式: -

1) 在我的 cshtml 中删除了一些未使用的 javascript 代码。2)更正脚本链接以检查它们是否指向存在的库。3) 我正在调用一些不存在的 javascript,如 Ajax.BeginForm , OnSuccess = "CloseWindow()" 和 CloseWindow() 不存在,所以要么添加函数,要么删除它。4) 在 web.config 中添加了这段代码

<location path="~/Scripts">
    <system.web>
      <authentication mode="None" />
           <authorization>
                   <allow users="?"/>
             </authorization>
     </system.web>
</location>

我不确定是否需要执行第四步。但是堆栈溢出中的一篇帖子说:错误是因为浏览器需要访问脚本文件夹中的Javascript。我的项目是 Visual Studio 2013 中带有实体框架的 asp.net MVC。希望这会有所帮助。

于 2015-10-30T15:38:05.643 回答
0

我的申请也有同样的问题。我从我的 ValidationScriptsPartial.cshtml 页面中删除了未使用的脚本文件。我正在开发 Asp.Net Core 应用程序。

于 2016-07-25T07:04:22.653 回答