如果初始源不可用,请从其他源加载JavaScript和CSS

如果初始源不可用,请从其他源加载JavaScript和CSS,javascript,html,css,Javascript,Html,Css,我的HTML中有此链接,它工作正常: <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script src="h

我的HTML中有此链接,它工作正常:

  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.css">
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jscolor/2.0.4/jscolor.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.3/jquery.ui.touch-punch.min.js"></script>

但是当这些链接不可访问时,我希望像这样本地加载JS和CSS:

  <link rel="stylesheet" href="jquery-ui.css">
  <script src="jquery.min.js"></script>
  <script src="jquery-ui.min.js"></script>
  <script src="jscolor.js"></script>
  <script src="jquery.ui.touch-punch.min.js"></script>

但是怎么做呢

我为什么需要它:嗯,我正在ESP8266上为我的家构建物联网设备。它就像我本地网络上的服务器一样工作,它用一个HTML页面响应,该页面需要Jquery和其他东西才能工作,我当然可以直接从ESP8266加载它,但是速度很慢,所以我更喜欢从Cloudflare加载它,它工作得很好,但是如果我失去与internet的连接会发生什么呢?。。。然后Cloudflare无法访问,我需要告诉我的浏览器从ESP8266加载JavaScript和CSS。
听起来很简单,但我不知道怎么做。。。需要一些javascript解决方案。

类似的解决方案应该可以

<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-2.0.0.min.js"></script>
<script>
if (typeof jQuery == 'undefined') {
    document.write(unescape("%3Cscript src='/js/jquery-2.0.0.min.js' type='text/javascript'%3E%3C/script%3E"));
}
</script>

if(typeof jQuery==“未定义”){
write(unescape(“%3Cscript src=”/js/jquery-2.0.0.min.js'type='text/javascript'%3E%3C/script%3E”);
}

在加载时尝试这些链接,检查jquery是否存在-
如果(window.jquery)
-如果存在,继续;如果没有,请加载本地文件。可能在脚本元素内部使用onerror属性,并使用一个函数,在这种情况下将更改脚本元素的src。我刚刚测试了它,它工作得非常好,非常感谢。