js 控制加载|移除 script 与 link 文件

Posted venkim

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 控制加载|移除 script 与 link 文件相关的知识,希望对你有一定的参考价值。

js 加载 script 文件

/**
 * 加载 script 文件
 * @param src
 */
function loadScript(src) {
    var addSign = true;
    var scripts = document.getElementsByTagName("script");
    for (var i = 0; i < scripts.length; i++) {
        if (scripts[i] && scripts[i].src && scripts[i].src.indexOf(src) != -1) {
            addSign = false;
        }
    }
    if (addSign) {
        var $script = document.createElement(‘script‘);
        $script.setAttribute("type", "text/javascript");
        $script.setAttribute("src", src);
        document.getElementsByTagName("head").item(0).appendChild($script);
    }
}

 

js 加载 link 文件

/**
 * 加载 link 文件
 * @param href
 */
function loadCss(href) {
    var addSign = true;
    var links = document.getElementsByTagName("link");
    for (var i = 0; i < links.length; i++) {
        if (links[i] && links[i].href && links[i].href.indexOf(href) != -1) {
            addSign = false;
        }
    }
    if (addSign) {
        var $link = document.createElement("link");
        $link.setAttribute("rel", "stylesheet");
        $link.setAttribute("type", "text/css");
        $link.setAttribute("href", href);
        document.getElementsByTagName("head").item(0).appendChild($link);
    }
}

 

js 删除 script 文件

/**
 * 删除 script 文件
 * @param src
 */
function removeScript(src) {
    var scripts = document.getElementsByTagName("script");
    for (var i = 0; i < scripts.length; i++) {
        if (scripts[i] && scripts[i].src && scripts[i].src.indexOf(src) != -1) {
            scripts[i].parentNode.removeChild(scripts[i]);
        }
    }
}

 

js 删除 link 文件

/**
 * 删除 link 文件
 * @param href
 */
function removeCss(href) {
    var links = document.getElementsByTagName("link");
    for (var i = 0; i < links.length; i++) {
        var _href = links[i].href;
        if (links[i] && links[i].href && links[i].href.indexOf(href) != -1) {
            links[i].parentNode.removeChild(links[i]);
        }
    }
}

 

 

以上是关于js 控制加载|移除 script 与 link 文件的主要内容,如果未能解决你的问题,请参考以下文章

Node.js 的回调模式

提交后刷新本页面与移除本页面的JS写法

如何动态加载外部CSS与JS文件

如何在项目中通过LINK标签链接自己javascript脚本?

移除无效的域控制器(ADDS)Script

js的加载顺序