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

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

效果:

html:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>js加载</title>
        <script>
            function errorload(elem) { //cdn错误
                if (elem.getAttribute(‘data-errorTimes‘) == 1) {
                    elem.onerror = null; // 执行完onerror事件后,置onerror=null 来清除onerror事件。
                    return;
                }
                elem.setAttribute(‘data-errorTimes‘, 1);
                var _src = elem.getAttribute(‘data-localSrc‘);
                loadScript(_src, elem);
            }

            function loadScript(_src, prevEl) { //引入本地js
                var _el = document.createElement(‘script‘);
                _el.src = _src;
                if (prevEl) {
                    prevEl.parentNode.insertBefore(_el, prevEl.nextSibling);
                } else {
                    document.body.appendChild(_el);
                }
            }
        </script>
    </head>
    <body>
        <p>产品一</p>
        <p>产品二</p>
        <p>产品三</p>
        <p>产品四</p>
        <p>产品五</p>

        <script data-localSrc="js/jquery.js" type="text/javascript" src="https://cdn.bootcss.com/jquery/1.8.2/jquery.min.js"
         onerror="errorload(this);"></script>
        //此cdn是正确版,测试时可修改为错误版再测试
    </body>
</html>

原文地址:https://www.cnblogs.com/linjiangxian/p/11465080.html

时间: 2024-08-30 01:30:53

外引js — 先引入cdn,cdn失效时引入本地js的相关文章

本地模拟服务器CDN(静态HTML,CSS,JS)开发

所谓本地开发环境就是和线上cdn(a.longencdn.cn)一样的目录结构和功能,提供了一个本地镜像,开发者直接在本地镜像的对应目录中作开发即可,包括一些html静态文件,css文件及JS文件等.比如说服务器cdn项目目录结构是 a.longencdn.cn/apps/js,  那么我们在本地也和服务器目录一样,访问 a.longencdn.cn 的时候 apache 首先在开发机上寻找文件,找不到去正式环境去 download 文件,一并返回给客户端.a.longencdn.cn/apps

jsp中的jquery失效以及引入js失败的问题

这段时间在试着看公司用的框架是怎么写的,看到项目中对jquery进一步封装的这一部分,所以自己试着写一些demo来模仿框架中的用法. 再一次的,又遇到了一个问题,jsp中引入js的问题,好久没有自己从头一步一步地在jsp中引入js了,怎么弄都没法达到预想的结果.现在把遇到的问题以及解决办法写在这里,以便以后遇到后查看. 1.在jsp中,引入js但是浏览器总是报404找不到对应的js的处理办法, 先说结论:js最好还是放在WebContent下,然后clean,如果浏览器报404找不到js,那么就

Extjs中ajax请求当session失效时自动跳转

当session失效时,我们可以通过filter来拦截并重定向到登陆页面,可是请求如果是ajax请求,页面并不会重定向,这是因为ajax返回的是数据,无法返回页面. ajax异步请求不同于其他请求,其在请求头里包含有X-Requested-With:XMLHttpRequest,看下面两张图的区别. 我们可以在filter中通过它来判断一个请求是不是异步的,如果是,我们可以返回一个sessionstatus,在页面上通过判断sessionstatus的值来判断session是否失效. 第一张是普

iframe中请求页面而session失效时页面跳转问题

iframe中请求页面而session失效时页面跳转问题 分类: Web2009-12-11 15:01 656人阅读 评论(0) 收藏 举报 sessioniframejsp 有时候做了就忘了,我记得曾经在学校里老师教过这个问题,可一时就是想不起来,不过终于搜到了这么一篇文章,先记下来以便下次再得了遗忘症. 访问相关jsp页面时,往往要先判断用户session是否失效,以便决定是继续业务,还是跳转到登录页面.这个事情我们通常是用过滤器来实现的.由过滤器判断session是否失效,由此来决定请求

js当中CommonJS 和es6的模块化引入方案以及比较

js当中CommonJS 和es6的模块化引入方案以及比较:https://blog.csdn.net/jackTesla/article/details/80796936 在es6之前,对于模块化方案主要是CommonJS和AMD两种.咱们这次说一下ES6和CommonJS的区别. 它们有两个重大差异: CommonJS 模块输出的是一个值的拷贝,ES6 模块输出的是值的引用.CommonJS 模块是运行时加载,ES6 模块是编译时输出接口.    第一个差异:    CommonJS 模块输

Python+Django+js+echarts引入本地js文件的操作方法

1. 选择正确的echarts.js,开发版选择echarts.baidu.com上的源码版,避免出现问题 2. 在项目主目录中新建static文件夹,里面建立js.css.images文件夹 3. 在settings文件中新增如下代码配置: STATIC_URL = '/static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') STATICFILES_DIRS = ( ('css', os.path.join(STATIC_ROOT, 'c

memcached缓存失效时的高并发访问问题解决

memcached一般用于在访问一些性能相对低下的数据接口时(如数据库),为了保证这些数据接口的稳定性,加上memcached以减少访问次数,保证这些数据接口的健壮性.一般memcached的数据都是定时失效的,当数据失效时一般会再次去访问取数据接口,然后将其更新至memcached中.这时就会有一个问题,当某个数据失效时,恰好同时有大量的客户端访问该数据,这时这些客户端都会发现该数据失效,然后都会去调用数据接口去取数据更新,这自然就瞬间地使数据接口失去了memcached的保护,有可能造成系统

JS 省市区级联 修改地址操作时的默认选中方法

省市区级联JS控件 下载地址http://files.cnblogs.com/bin-pureLife/%E5%B0%8F%E5%9B%BE%E6%A0%87.zip function update(province,city,county){ $("#s_province option").each(function(){ if($(this).val()==province){ $(this).attr('selected',true) change(1); } }); $(&qu

js 判断 当页面无法回退时(history.go(-1)),关闭网页

在做一个Web项目时遇到一个需求,当页面没有前驱历史记录时(就是当前为新弹出的页面,没法做goback操作即history.go(-1)),点击返回按钮时直接关闭页面,否则就退回到前一页. 遇到的问题就是如何判断 是否有history可以回退,这个非常麻烦,因为没有这样的函数直接能获取到,只能通过history.length这个变量做变通的处理,但是对于IE,和非IE的length的返回值不同,ie: history.length=0, 非IE的为1,因此写了一个函数实现前面所需求的这个功能.分