首页 > 解决方案 > 从多个位置加载资源(例如 JavaScript 脚本)作为后备?

问题描述

我想知道是否有一种方法可以告诉浏览器从服务器 A 加载像JavaScript 脚本这样的资源(例如,有很多好处的 CDN),如果它没有从服务器 B (可以是我自己的服务器左右)成功加载它后备解决方案。

标签: javascripthtmlcss

解决方案


浏览器中使用的大多数 JavaScript 都有全局显示的对象。它检测存在或不存在,如果没有,则<script>使用document.write.

console.log($.fn.jquery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.5/jquery.notfound.js"></script>
<script>window.jQuery || document.write(`<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"><\/script>`)</script>

如果应用异步,加载时间将是“在加载之前的某个地方”。因此,这是一个设置事件window.onload并在未加载时在 DOM 中生成元素的流程。


推荐阅读