cdn挂了,前端如何动态切换cdn链接呢?

为了提高项目的访问速度,使用cdn提升访问速度是非常有效的方案,同时提高网站稳定性、安全性,并且无需修改现有的业务逻辑。采用免费的cdn提供商,还能降低网站流量成本,

但是cdn服务也不是无限运行的,如果挂了我们应该怎么办,手动更换cdn提供商? 不,我们将采取一种更加智能的解决方案,通过监听script标签的onerror事件,从候选cdn链接中进行切换。

以下代码可以应对一些应用场景

<!DOCTYPE html>
<html lang="en">

<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Document</title>
 <script>
   function loadResource(links, fnSuccess, fnError) {
     var script = document.createElement('script');
     script.onerror = function () {
       document.head.removeChild(script);
       fnError();
     };
     script.onload = fnSuccess
     script.src = links.shift();
     document.head.appendChild(script);
   }

   function autoSwitch(resourceList) {
     if (!resourceList.length) return
     var resource = resourceList.shift();
     loadResource([resource], function (success) {
       console.log('loaded');
     }, function (err) {
       console.log('load error')
       autoSwitch(resourceList);
     });
   }
 </script>
</head>

<body>
 <script>
   // cdn 链接列表
   var resourceList = [
     'http://demo1.cdnxx.cn/assets/app.js',
     'http://demo2.cdnxx.cn/assets/app.js',
     'assets/app.js',
   ];

   autoSwitch(resourceList);
 </script>
</body>

</html>
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 我的学习前端路线计划如下:1. 学习 HTML 和 CSS:学习 HTML 和 CSS 的基本知识,以及相关的技术,例如 Flexbox 和 Bootstrap。2. 学习 JavaScript:学习 JavaScript 核心语法,如变量、数组、函数、等等,以及 JavaScript 框架,如 React 或 Vue。3. 学习后端:学习后端编程语言,如 Python、Java、PHP 等,以及相关的技术,如 Node.js、MySQL 等。4. 用前端和后端技术结合:用学到的技术来构建一些简单的应用程序,例如网页、博客、社交网络等。5. 学习新的技术:不断学习新的技术,以保持对前端开发的技术领先。 ### 回答2: 学习前端的路线计划可以分为以下几个阶段: 阶段一:初级前端基础知识 1. 学习HTML和CSS的基础知识,掌握标签的使用和样式的设置。 2. 学习JavaScript的基本语法,了解变量、条件语句、循环等基本概念。 3. 学习DOM操作,掌握JavaScript中对网页元素的增删改查操作。 阶段二:进阶前端技术 1. 学习jQuery库的使用,了解其选择器、动画效果等特性。 2. 学习响应式设计,了解移动设备适配和响应式布局的原理与实践。 3. 学习CSS预处理器(如Sass或Less)的使用,提高CSS的开发效率。 阶段三:构建前端单页应用 1. 学习前端框架,如React、Angular或Vue.js,理解组件化开发的概念。 2. 学习使用Webpack等构建工具,进行代码模块化、打包和优化。 3. 学习前端路由管理,实现前端路由的跳转和页面切换。 阶段四:前端工程化和性能优化 1. 学习代码版本控制工具,如Git,掌握分支管理和团队协作。 2. 学习前端自动化工具,如Grunt、Gulp或Webpack,提升开发效率。 3. 学习性能优化的相关技术,如懒加载、CDN加速等,提高网站的加载速度。 阶段五:持续学习与实践 1. 关注前端技术的最新动态,参与各类技术社区和论坛的交流与分享。 2. 阅读优秀的前端开发博客和书籍,提升自己的技术能力。 3. 不断通过实践项目来巩固与提升技术水平。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值