欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

[轉(zhuǎn)帖]js實用方法記錄-js動態(tài)加載css、js腳本文件

liguoquan
2024年3月1日 16:22 本文熱度 729
:js實用方法記錄-js動態(tài)加載css、js腳本文件


js實用方法記錄-js動態(tài)加載css、js腳本文件

js實用方法記錄-動態(tài)加載css/js

1. 動態(tài)加載js文件到head標(biāo)簽并執(zhí)行回調(diào)

方法調(diào)用:dynamicLoadJs('http://www.yimo.link/static/js/main.min.js',function(){alert('加載成功')});

解釋    /**
     * 動態(tài)加載JS
     * @param {string} url 腳本地址
     * @param {function} callback  回調(diào)函數(shù)
     */
    function dynamicLoadJs(url, callback) {
        var head = document.getElementsByTagName('head')[0];
        var script = document.createElement('script');
        script.type = 'text/javascript';
        script.src = url;
        if(typeof(callback)=='function'){
            script.onload = script.onreadystatechange = function () {
                if (!this.readyState || this.readyState === "loaded" || this.readyState === "complete"){
                    callback();
                    script.onload = script.onreadystatechange = null;
                }
            };
        }
        head.appendChild(script);
    }

2. 動態(tài)加載css文件到head

方法調(diào)用: dynamicLoadCss('http://www.yimo.link/static/css/style.css')

解釋    /**
     * 動態(tài)加載CSS
     * @param {string} url 樣式地址
     */
    function dynamicLoadCss(url) {
        var head = document.getElementsByTagName('head')[0];
        var link = document.createElement('link');
        link.type='text/css';
        link.rel = 'stylesheet';
        link.href = url;
        head.appendChild(link);
    }

3. 動態(tài)加載腳本文件

參考:http://www.cnblogs.com/yuanke/p/5039699.html

解釋    /**
     * 動態(tài)加載css腳本
     * @param {string} cssText css樣式
     */
    function loadStyleString(cssText) {
        var style = document.createElement("style");
        style.type = "text/css";
        try{
            // firefox、safari、chrome和Opera
            style.appendChild(document.createTextNode(cssText));
        }catch(ex) {
            // IE早期的瀏覽器 ,需要使用style元素的stylesheet屬性的cssText屬性
            style.styleSheet.cssText = cssText;
        }
        document.getElementsByTagName("head")[0].appendChild(style);
    }
    // 測試
    var css = "body{color:blue;}";
    loadStyleString(css);
解釋    /**
     * 動態(tài)加載js腳本
     * @param {string} code js腳本
     */
    function loadScriptString(code) {
        var script = document.createElement("script");
        script.type = "text/javascript";
        try{
            // firefox、safari、chrome和Opera
            script.appendChild(document.createTextNode(code));
        }catch(ex) {
            // IE早期的瀏覽器 ,需要使用script的text屬性來指定javascript代碼。
            script.text = code;
        }
        document.getElementsByTagName("head")[0].appendChild(script);
    }
    // 測試
    var text = "function test(){alert('test');}";
    loadScriptString(text);
    test();

4. 動態(tài)加載iframe到body標(biāo)簽并執(zhí)行回調(diào)

方法調(diào)用:dynamicLoadIframe('http://www.yimo.link',function(){alert('加載成功')},'');

解釋  /**
   * 動態(tài)加載Iframe
   * @param {string} url 腳本地址
   * @param {function} callback  回調(diào)函數(shù)
   * @param {string} style  加載樣式
   */
  function dynamicLoadIframe(url,callback,style) {
    var body = document.getElementsByTagName('body')[0];
    var iframe = document.createElement('iframe');
    iframe.src = url;
    iframe.style=style||'display:none;width:0px;height:0px;';
    if(typeof(callback)=='function'){
        iframe.onload = iframe.onreadystatechange = function () {
            if (!this.readyState || this.readyState === "loaded" || this.readyState === "complete") {
                callback();
                iframe.onload = iframe.onreadystatechange = null;
            }
        };
    }
    body.appendChild(iframe);
  }

5. M站中下載/打開app

方法測試:openApp('ios頁面','**.apk','metools://home');

解釋function openApp(iosDownUrl,andDownUrl,appUrl) {
    var ua = navigator.userAgent.toLowerCase();    
    if (/iphone|ipad|ipod/.test(ua)) {//ios跳轉(zhuǎn)到store
      window.location.href = iosDownUrl;
      return;
    } 
    if(ua.indexOf("micromessenger") > -1){//微信中不能打開其他app
      window.location.href = andDownUrl;
      return;
    }
    if (/android/.test(ua)) {//安卓手機嘗試調(diào)用app
      if(!appUrl){
        console.log('未指定需要打開的App,可參考http://www.oschina.net/code/snippet_256033_35330/');
        return;
      }
      var su = appUrl;//"metools://index";//自定義協(xié)議
      var n = setTimeout(function () {
        window.location.href = andDownUrl      }, 500);
      var r = document.createElement("iframe");
      r.src = su;
      r.onload = function () {
        console.log('iframe load')
        clearTimeout(n);
        r.parentNode.removeChild(r);
        window.location.href = su;
      };
      r.setAttribute("style", "display:none;");
      document.body.appendChild(r);
      return;
    }
    window.location.href = andDownUrl;
  }

該文章在 2024/3/1 16:22:30 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved