国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

Dogee / 2488人閱讀

摘要:測(cè)試動(dòng)態(tài)加載到標(biāo)簽并執(zhí)行回調(diào)方法調(diào)用加載成功動(dòng)態(tài)加載腳本地址回調(diào)函數(shù)加載樣式站中下載打開(kāi)方法測(cè)試頁(yè)面跳轉(zhuǎn)到微信中不能打開(kāi)其他安卓手機(jī)嘗試調(diào)用未指定需要打開(kāi)的可參考自定義協(xié)議參數(shù)轉(zhuǎn)換參考參數(shù)轉(zhuǎn)對(duì)象使用對(duì)象轉(zhuǎn)參數(shù)

js實(shí)用方法記錄-動(dòng)態(tài)加載css/js

1.動(dòng)態(tài)加載js文件到head標(biāo)簽并執(zhí)行回調(diào)
方法調(diào)用:dynamicLoadJs("http://www.yimo.link/static/j...",function(){alert("加載成功")});

    /**
     * 動(dòng)態(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.動(dòng)態(tài)加載css文件到head標(biāo)簽并執(zhí)行回調(diào)
方法調(diào)用: dynamicLoadCss("http://www.yimo.link/static/c...",function(){alert("加載成功")})

    /**
     * 動(dòng)態(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.動(dòng)態(tài)加載腳本文件
參考:http://www.cnblogs.com/yuanke...

     /**
     * 動(dòng)態(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);
    }
    // 測(cè)試
    var css = "body{color:blue;}";
    loadStyleString(css);
    
    
    
    /**
     * 動(dòng)態(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屬性來(lái)指定javascript代碼。
            script.text = code;
        }
        document.getElementsByTagName("head")[0].appendChild(script);
    }
    // 測(cè)試
    var text = "function test(){alert("test");}";
    loadScriptString(text);
    test();
    
    

4.動(dòng)態(tài)加載iframe到body標(biāo)簽并執(zhí)行回調(diào)
方法調(diào)用:dynamicLoadIframe("http://www.yimo.link",function(){alert("加載成功")},"");

   /**
   * 動(dòng)態(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站中下載/打開(kāi)app
方法測(cè)試:openApp("ios頁(yè)面","**.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){//微信中不能打開(kāi)其他app
          window.location.href = andDownUrl;
          return;
        }
        if (/android/.test(ua)) {//安卓手機(jī)嘗試調(diào)用app
          if(!appUrl){
            console.log("未指定需要打開(kāi)的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;
      }

6.query參數(shù)轉(zhuǎn)換
參考:https://github.com/nicejade/a...
query參數(shù)轉(zhuǎn)對(duì)象

export function query(search) {
  let str = search || window.location.search
  let objURL = {}

  str.replace(new RegExp("([^?=&]+)(=([^&]*))?", "g"), ($0, $1, $2, $3) => {
    objURL[$1] = $3
  })
  return objURL
}

7.使用:query("?v=1")
對(duì)象轉(zhuǎn)query參數(shù)

function queryString(url, query) {
  let str = []
  for (let key in query) {
    str.push(key + "=" + query[key])
  }
  let paramStr = str.join("&")
  return paramStr ? `${url}?${paramStr}` : url
}

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/53254.html

相關(guān)文章

  • js實(shí)用方法記錄-js動(dòng)態(tài)加載cssjs腳本文件

    摘要:測(cè)試動(dòng)態(tài)加載到標(biāo)簽并執(zhí)行回調(diào)方法調(diào)用加載成功動(dòng)態(tài)加載腳本地址回調(diào)函數(shù)加載樣式站中下載打開(kāi)方法測(cè)試頁(yè)面跳轉(zhuǎn)到微信中不能打開(kāi)其他安卓手機(jī)嘗試調(diào)用未指定需要打開(kāi)的可參考自定義協(xié)議參數(shù)轉(zhuǎn)換參考參數(shù)轉(zhuǎn)對(duì)象使用對(duì)象轉(zhuǎn)參數(shù) js實(shí)用方法記錄-動(dòng)態(tài)加載css/js 1.動(dòng)態(tài)加載js文件到head標(biāo)簽并執(zhí)行回調(diào)方法調(diào)用:dynamicLoadJs(http://www.yimo.link/static/...

    shusen 評(píng)論0 收藏0
  • js實(shí)用方法記錄-js動(dòng)態(tài)加載css、js腳本文件

    摘要:測(cè)試動(dòng)態(tài)加載到標(biāo)簽并執(zhí)行回調(diào)方法調(diào)用加載成功動(dòng)態(tài)加載腳本地址回調(diào)函數(shù)加載樣式站中下載打開(kāi)方法測(cè)試頁(yè)面跳轉(zhuǎn)到微信中不能打開(kāi)其他安卓手機(jī)嘗試調(diào)用未指定需要打開(kāi)的可參考自定義協(xié)議參數(shù)轉(zhuǎn)換參考參數(shù)轉(zhuǎn)對(duì)象使用對(duì)象轉(zhuǎn)參數(shù) js實(shí)用方法記錄-動(dòng)態(tài)加載css/js 1.動(dòng)態(tài)加載js文件到head標(biāo)簽并執(zhí)行回調(diào)方法調(diào)用:dynamicLoadJs(http://www.yimo.link/static/...

    sanyang 評(píng)論0 收藏0
  • javascript功能插件大集合 前端常用插件 js常用插件

    摘要:轉(zhuǎn)載來(lái)源包管理器管理著庫(kù),并提供讀取和打包它們的工具。能構(gòu)建更好應(yīng)用的客戶端包管理器。一個(gè)整合和的最佳思想,使開(kāi)發(fā)者能快速方便地組織和編寫(xiě)前端代碼的下一代包管理器。很棒的組件集合。隱秘地使用和用戶數(shù)據(jù)。 轉(zhuǎn)載來(lái)源:https://github.com/jobbole/aw... 包管理器管理著 javascript 庫(kù),并提供讀取和打包它們的工具。?npm – npm 是 javasc...

    netmou 評(píng)論0 收藏0
  • javascript功能插件大集合 前端常用插件 js常用插件

    摘要:轉(zhuǎn)載來(lái)源包管理器管理著庫(kù),并提供讀取和打包它們的工具。能構(gòu)建更好應(yīng)用的客戶端包管理器。一個(gè)整合和的最佳思想,使開(kāi)發(fā)者能快速方便地組織和編寫(xiě)前端代碼的下一代包管理器。很棒的組件集合。隱秘地使用和用戶數(shù)據(jù)。 轉(zhuǎn)載來(lái)源:https://github.com/jobbole/aw... 包管理器管理著 javascript 庫(kù),并提供讀取和打包它們的工具。?npm – npm 是 javasc...

    Hydrogen 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

Dogee

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<