小编Ant*_*hov的帖子

“脚本错误。” 仅在 Safari 中的 window.onerror 中的错误

我收到“脚本错误”。在 window.onerror 中捕获错误时,即使在 S3 上正确(我认为)配置了 CORS 标头。

CORS 配置:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>HEAD</AllowedMethod>
    <MaxAgeSeconds>3000</MaxAgeSeconds>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)

HTML:

<script crossorigin src="https://s3.amazonaws.com/safari-script-error/foo.js" />
Run Code Online (Sandbox Code Playgroud)

其中包含:

window.addEventListener("keydown", function(event) {
  if (event.keyCode === 69) { // "e" button
    throw new Error("Oh shoot");
  }
});
Run Code Online (Sandbox Code Playgroud)

JS:

window.onerror = function(event) {
  console.log(event);
}
Run Code Online (Sandbox Code Playgroud)

代码笔:https ://codepen.io/astashov/pen/yoEvRB

它在 Chrome、Firefox 和 IE11 中运行良好,并且只显示“脚本错误”。在 Safari 中(我有版本 10.0.3 (12602.4.8))。

如何让它也能在 Safari 中工作?

html javascript safari onerror cors

5
推荐指数
1
解决办法
2566
查看次数

标签 统计

cors ×1

html ×1

javascript ×1

onerror ×1

safari ×1