美文网首页
引入外部 CDN失效时--怎么加载本地资源文件(本文以jquer

引入外部 CDN失效时--怎么加载本地资源文件(本文以jquer

作者: 行走的巨蟹 | 来源:发表于2018-10-11 23:10 被阅读0次

相信大家都使用过,百度或者CDN官网等提供的CDN静态资源库

CDN官方静态资源库:https://cdnjs.com/

七牛前端公开库:http://staticfile.org

使用CDN可以减少带宽和http请求,也可以减少一些服务器的压力,

从而提升页面加载速度,也有利于提高用户体验。

但有一个问题:假如你使用的是百度静态资源库。

某天,突然百度静态资源库崩了,那你网站引用的相应资源文件也会失效。

这个时候应该怎么办呢?

虽然这种情况几率比较小,但为了防范于未然,我们还是需要留一手。

然后我就开始百度方法,真是五花八门,各种写法都有,看的我是很蒙蔽

有这种:

<script src="//ajax.google/jquery/1.9.2.js"></script>
<script>window.jQuery||document.write('<script src="jquery-1.9.2.js"></script>')</script>

有这种:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script>!window.jQuery && document.write(unescape('%3Cscript src="jquery/jquery-1.7.2.min.js"%3E%3C/script%3E'))</script>

有这种:

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

不知为何,总觉得以上写法哪里不对,但又说不出个所以然。
后经过一番寻找,终于找到了比较规范和正确的2种方法

方法一(推荐)

<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script>
 if (typeof jQuery == 'undefined') {
   document.write(unescape("%3Cscript src='/skin/mobile/js/jquery.min.js'%3E%3C/script%3E"));
 }
</script>

方法二

<script src="http://lib.sinaapp.com/js/jquery11/1.8/jquery.min.js"></script>
<script>window.jQuery || document.write(unescape("%3Cscript src='/skin/mobile/js/jquery.min.js'%3E%3C/script%3E"))</script>

注:经本人实际测试,2种方法都可以。

然后这里我又有一个疑问:不知道上面代码中的 %3C 和 %3E是什么意思?

后来先查了 unescape()这个函数接着又查了这个函数escape()

结果发现 %3C 和 %3E分别表示 '<' 和 '>',如下图

image image

原文参考:https://www.jb51.net/article/140694.htm

相关文章

  • 引入外部 CDN失效时--怎么加载本地资源文件(本文以jquer

    相信大家都使用过,百度或者CDN官网等提供的CDN静态资源库 CDN官方静态资源库:https://cdnjs.c...

  • Vue项目中通过CDN引入文件并使用

    在项目中,一般使用npm拉取包使用,但是有时因为文件过大,加载慢等原因,需要CDN引入外部资源,以 axios 为...

  • UIWebView常用命令

    加载外部链接: 加载本地资源:

  • vue-cli3中vant字体库改为本地引入

    内网项目无法引用外部cdn资源,所以需要将vant的字体库改为本地引入相关插件:"less-loader": "^...

  • 外引js — 先引入cdn,cdn失效时引入本地js

    参考:http://www.tianshan277.com/563.html 效果: html:

  • iOS加载本地HTML的两种方式(文件、本地服务器)

    第一种:以文件的形式加载HTML资源 第二种:搭建本地服务器,通过本地服务器加载本地HTML文件

  • 网站性能优化(三)异步加载脚本

    原则上来说,HTML在使用 标签加载外部脚本文件时,会顺序下载,顺序执行,并阻碍其他资源文件的下载,比如图片(当然...

  • No.31 jQuery基本使用

    一、jQuery 的入口函数 等着 DOM 结构渲染完毕即可执行内部代码,不必等到所有外部资源加载完成,jQuer...

  • 03第一个Vue实例 2019-07-28

    一、知识点总结 1、VUE引入的方式 引入本地Vue文件 通过CDN文件的方式 2、将用