Script error.解决方法

为了加快网站访问速度,咱们不可避免要将静态资源放到第三方CDN上。然而,咱们又须要在出错之后可以知道详细的报错信息,这篇博客将介绍如何避免出现Script error.css

1. 添加 crossorigin="anonymous" 到script标签

<script src="https://xxx.com/xxx.js" crossorigin="anonymous"></script>

crossorigin能够取枚举值anonymous或则use-credentialshtml

The "anonymous" keyword means that there will be no exchange of user credentials via cookies, client-side SSL certificates or HTTP authenticationnginx

anonymous即不发送Cookie和HTTP认证信息,对于静态资源,咱们使用anonymous就已经足够。 关于crossorigin详情能够参考: CORS settings attributesajax

2. 添加支持跨域访问的设置

Access-Control-Allow-Origin: *

Access-Control-Allow-Origin是HTML5中定义的一种解决资源跨域的策略。他是经过服务器端返回带有Access-Control-Allow-Origin标识的Response header,用来解决资源的跨域权限问题。shell

CDN服务商好比七牛默认已经配置好了Access-Control-Allow-Origin,使用curl命令获取头部:小程序

curl --head https://js.fundebug.cn/fundebug.0.0.4.min.js | grep "Access-Control-Allow-Origin"

结果以下:微信小程序

若是您有单独的子域名(子域名也会被认定为不一样源)用来分发静态资源,那么须要在服务端作一点配置。针对不一样语言和框架的配置方法咱们不一一列出,Nodejs的Express框架下是这样配置的:跨域

app.use(function(req, res, next)
{
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
    next();
});

其它设置Access-Control-Allow-Origin请参考服务器

关于Fundebug

Fundebug专一于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了7亿+错误事件,获得了Google、360、金山软件、百姓网等众多知名用户的承认。欢迎免费试用!微信

版权声明

转载时请注明做者Fundebug以及本文地址:
https://blog.fundebug.com/2017/04/07/solve-script-error/

相关文章
相关标签/搜索