摘要:測(cè)試動(dòng)態(tài)加載到標(biāo)簽并執(zhí)行回調(diào)方法調(diào)用加載成功動(dòng)態(tài)加載腳本地址回調(diào)函數(shù)加載樣式站中下載打開方法測(cè)試頁面跳轉(zhuǎn)到微信中不能打開其他安卓手機(jī)嘗試調(diào)用未指定需要打開的可參考自定義協(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屬性來指定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站中下載/打開app
方法測(cè)試: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)) {//安卓手機(jī)嘗試調(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; }
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/99259.html
摘要:測(cè)試動(dòng)態(tài)加載到標(biāo)簽并執(zhí)行回調(diào)方法調(diào)用加載成功動(dòng)態(tài)加載腳本地址回調(diào)函數(shù)加載樣式站中下載打開方法測(cè)試頁面跳轉(zhuǎn)到微信中不能打開其他安卓手機(jī)嘗試調(diào)用未指定需要打開的可參考自定義協(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/...
摘要:測(cè)試動(dòng)態(tài)加載到標(biāo)簽并執(zhí)行回調(diào)方法調(diào)用加載成功動(dòng)態(tài)加載腳本地址回調(diào)函數(shù)加載樣式站中下載打開方法測(cè)試頁面跳轉(zhuǎn)到微信中不能打開其他安卓手機(jī)嘗試調(diào)用未指定需要打開的可參考自定義協(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/...
摘要:轉(zhuǎn)載來源包管理器管理著庫,并提供讀取和打包它們的工具。能構(gòu)建更好應(yīng)用的客戶端包管理器。一個(gè)整合和的最佳思想,使開發(fā)者能快速方便地組織和編寫前端代碼的下一代包管理器。很棒的組件集合。隱秘地使用和用戶數(shù)據(jù)。 轉(zhuǎn)載來源:https://github.com/jobbole/aw... 包管理器管理著 javascript 庫,并提供讀取和打包它們的工具。?npm – npm 是 javasc...
摘要:轉(zhuǎn)載來源包管理器管理著庫,并提供讀取和打包它們的工具。能構(gòu)建更好應(yīng)用的客戶端包管理器。一個(gè)整合和的最佳思想,使開發(fā)者能快速方便地組織和編寫前端代碼的下一代包管理器。很棒的組件集合。隱秘地使用和用戶數(shù)據(jù)。 轉(zhuǎn)載來源:https://github.com/jobbole/aw... 包管理器管理著 javascript 庫,并提供讀取和打包它們的工具。?npm – npm 是 javasc...
閱讀 2581·2021-11-22 12:01
閱讀 1105·2021-11-15 11:37
閱讀 3685·2021-09-22 14:59
閱讀 1746·2021-09-04 16:45
閱讀 1382·2021-09-03 10:30
閱讀 1013·2021-08-11 11:18
閱讀 2459·2019-08-30 10:53
閱讀 2013·2019-08-29 15:13