【问题标题】:SCRIPT1010: Expected identifier in IE10SCRIPT1010:IE10 中的预期标识符
【发布时间】:2013-03-15 23:35:05
【问题描述】:

在我的项目中,我使用的是 Prototype JavaScript Framework 1.7.1

当我在 Windows 7 上的 IE10 中加载网页时,我收到以下错误消息: SCRIPT1010:预期的标识符第 1 行字符 9 在我下面的测试 HTML 页面中指向 <!DOCTYPE html>

<!DOCTYPE html>
<html>
<head>
 <title>My webpage title</title>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
 <meta http-equiv="X-UA-Compatible" content="IE=edge" />
 <meta name="description" content="" />
 <meta name="keywords" content="" />
 <script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/prototype/1.7.1.0/prototype.js'></script>
</head>
<body>
    just testing
</body>
</html>

HTTP 请求标头

GET /test.html HTTP/1.1[CRLF]
Host: www.mydomain.com[CRLF]
Connection: close[CRLF]
User-Agent: Web-sniffer/1.0.44 (+http://web-sniffer.net/)[CRLF]
Accept-Encoding: gzip[CRLF]
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8[CRLF]
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6[CRLF]
Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7[CRLF]
Cache-Control: no-cache[CRLF]
Referer: http://web-sniffer.net/[CRLF]

HTTP 响应标头

Name    Value   Delim
Status: HTTP/1.1 200 OK
Server: webhost 
Date:   Tue, 26 Mar 2013 10:07:56 GMT   
Content-Type:   text/html   
Transfer-Encoding:  chunked 
Connection: close   
Vary:   Accept-Encoding,User-Agent  
Last-Modified:  Tue, 26 Mar 2013 10:07:29 GMT   
Cache-Control:  max-age=3600, public, must-revalidate, proxy-revalidate 
Expires:    Tue, 26 Mar 2013 11:07:56 GMT   
Pragma: public  
CF-RAY: 553096521a6047f 
Content-Encoding:   gzip

有谁知道是什么导致了这个错误,或者这是 Prototype 1.7.1 中的一个错误?

【问题讨论】:

  • 您的 JavaScript 文件顶部是否有 HTML 文档类型???还是错误指向您的 html 文档?
  • 感谢您的标记。您能否向我们展示您的服务器为此文档发送的标头(或指向您的服务器的链接)?
  • 奇怪。如果您删除&lt;script&gt;标签,错误不会发生?
  • 是的,如果我删除脚本标签,则不会发生错误

标签: javascript prototypejs internet-explorer-10


【解决方案1】:

在 Github 上查看此拉取请求 https://github.com/sstephenson/prototype/pull/93

PrototypeJS 每次加载时都会进行一些功能检测,并且 Internet Explorer 10 已经调整了一些 Javascript 语法的解析方式并引发了该错误。

PrototypeJS 正在检测如何将传递函数作为标记属性(如 onclick 方法)处理,而 IE10 javascript 解析器将其检测为语法错误。

如果您查看 Github 中的拉取请求,它会向您展示一个创可贴以及让 Internet Explorer 10 满意的完整修复。

请广而告之。

2013-05-17 UPDATE 引用的拉取请求已关闭,并且已将修复程序集成到 PrototypeJS github 的 master 分支中

https://github.com/sstephenson/prototype

请从那里克隆并更新您的脚本。

2014-05-01 更新此问题的修复已在 PrototypeJS 1.7.2 中发布

http://prototypejs.org/2014/04/18/prototype-1-7-2/

【讨论】:

  • 所以又是 IE 错误信息中的奇数行号引用?
  • 行号引用没有引用 javascript 中的正确位置,我知道这很奇怪。我进行了广泛的挖掘以找到导致此问题的 javascript 调用,并能够将其缩小到代码中的属性功能测试。对 github 拉取请求的提交是解决此问题的更改。
  • @bonez 你确定是 SCRIPT1010 错误。我们专门搜索了这个错误,测试并解决了它。我正在启动并运行我的测试虚拟机以确保。
  • 对不起我的错误。 wordpress 正在从谷歌加载旧脚本版本,而不是获取我的本地文件。问题已解决。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多