javascript - 从多个位置加载资源(例如 JavaScript 脚本)作为后备?
问题描述
我想知道是否有一种方法可以告诉浏览器从服务器 A 加载像JavaScript 脚本这样的资源(例如,有很多好处的 CDN),如果它没有从服务器 B (可以是我自己的服务器左右)成功加载它后备解决方案。
解决方案
浏览器中使用的大多数 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 中生成元素的流程。
推荐阅读
- javascript - 当我们需要返回一个值时,为什么我们需要在递归中“返回”?
- react-native - 有什么方法可以检测 android 电视 HDMI 电缆是否连接或未在世博会反应原生?
- gcc - `jz` 到 RIP 相对内存位置会产生操作数不匹配 (GCC)
- powershell - 如何仅从 PowerCLI 获取 currentVersion?
- javascript - Chrome DevTools 中的“暂停脚本执行”未按预期工作
- azure - Azure Blockchain Workbench REST API 返回 204 无内容
- ruby-on-rails - 未定义的方法“simple_form_for”
- php - ERR_TOO_MANY_REDIRECTS laravel 管理/登录页面
- amazon-web-services - EC2 实例状态
- windows-10 - 如何在 Windows 10 计算机用户上以编程方式安装 Windows 10 Text To Speech Voices?