zoukankan      html  css  js  c++  java
  • JavaScript高级程序设计之动态脚本及动态样式

    1、动态加载脚本(src 原理,异步,支持跨域)

    var loadScript = function (url, callback) {
        var script = document.createElement("script");
        script.src = url;
    
        document.getElementsByTagName("head")[0].appendChild(script);
    
        if (script.addEventListener) {
    
            // for w3c
            script.onload = function () {
                script.onload = null;
                script.parentNode.removeChild(script);
    
                callback && callback();
            };
        } else if (script.readyState) {
        
            // for ie
            script.onreadystatechange = function () {
    
                if (script.readyState === "loaded" || script.readyState === "complete") {
    
                    script.onreadystatechange = null;
                    script.parentNode.removeChild(script);
    
                    callback && callback();
                }
            };
        } else {
    
            // for lower brower
            script.parentNode.removeChild(script);
            callback && callback();
        }
    };

    2、动态加载样式

    var loadStyle = function (cssText) {
        var style = document.createElement("style");
        style.type = "text/css";
        style.rel = "styleSheet";
    
        try {
            style.appendChild(document.createTextNode(cssText));
        } catch (ex) {
            // for ie
            style.styleSheet.cssText = cssText;
        }
    
        document.getElementsByTagName("head")[0].appendChild(style);
    };
    
    loadStyle("body{background-color:#aaa;}");
  • 相关阅读:
    Install Postgresql on Ubuntu
    Pytest
    Pytest
    wrk 压力测试
    Objective-C 格式化字符串Format
    安装BeyondCompare on Ubuntu
    eclipse + python + pydev (Pydev安装成功确看不到插件的解决办法)
    如何解决: Ubuntu 系统 adb devices出现no permissions
    oracle rac搭建
    CentOS6.8编译安装LAMP
  • 原文地址:https://www.cnblogs.com/xiankui/p/3759366.html
Copyright © 2011-2022 走看看