11

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

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

4

1 回答 1

11

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

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

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

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

请广而告之。

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

https://github.com/sstephenson/prototype

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

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

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

于 2013-03-26T15:40:13.837 回答