Scripterror.解决方法-创新互联

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

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比周口网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式周口网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖周口地区。费用合理售后完善,十余年实体公司更值得信赖。

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

 

crossorigin可以取枚举值anonymous或则use-credentials

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

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

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

 Access-Control-Allow-Origin: *

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

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

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

结果如下:

Script error.解决方法

如果您有单独的子域名(子域名也会被认定为不同源)用来分发静态资源,那么需要在服务端做一点配置。针对不同语言和框架的配置方法我们不一一列出,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请参考

  • PHP: ajax 设置Access-Control-Allow-Origin实现跨域访问
  • Java: Java 无法跨域问题(No 'Access-Control-Allow-Origin'..)
  • Nginx: nginx Access-Control-Allow-Origin css跨域

关于Fundebug

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

Script error.解决方法

版权声明

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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


新闻标题:Scripterror.解决方法-创新互联
路径分享:http://scjbc.cn/article/coidpe.html

其他资讯