动态加载js和css
博客搬家了,欢迎大家关注,https://bobjin.com
开发过程中经常需要动态加载js和css,今天特意总结了一下常用的方法。
1、动态加载js
方法一:动态加载js文件
1 // 动态加载js脚本文件 2 function loadScript(url) { 3 var script = document.createElement("script"); 4 script.type = "text/javascript"; 5 script.src = url; 6 document.body.appendChild(script); 7 } 8 // 测试 9 loadScript("javascript/lib/cookie.js");
方法二:动态加载js脚本
1 // 动态加载js脚本 2 function loadScriptString(code) { 3 var script = document.createElement("script"); 4 script.type = "text/javascript"; 5 try{ 6 // firefox、safari、chrome和Opera 7 script.appendChild(document.createTextNode(code)); 8 }catch(ex) { 9 // IE早期的浏览器 ,需要使用script的text属性来指定javascript代码。 10 script.text = code; 11 } 12 document.body.appendChild(script); 13 } 14 // 测试 15 var text = "function test(){alert('test');}"; 16 loadScriptString(text); 17 test();
2、动态加载css
方法一:动态加载css文件
1 // 动态加载css文件 2 function loadStyles(url) { 3 var link = document.createElement("link"); 4 link.type = "text/css"; 5 link.rel = "stylesheet"; 6 link.href = url; 7 document.getElementsByTagName("head")[0].appendChild(link); 8 } 9 // 测试 10 loadStyles("css/secondindex.css");
方法二:动态加载css脚本
1 // 动态加载css脚本 2 function loadStyleString(cssText) { 3 var style = document.createElement("style"); 4 style.type = "text/css"; 5 try{ 6 // firefox、safari、chrome和Opera 7 style.appendChild(document.createTextNode(cssText)); 8 }catch(ex) { 9 // IE早期的浏览器 ,需要使用style元素的stylesheet属性的cssText属性 10 style.styleSheet.cssText = cssText; 11 } 12 document.getElementsByTagName("head")[0].appendChild(style); 13 } 14 // 测试 15 var css = "body{color:blue;}"; 16 loadStyleString(css);
博客搬家了,欢迎大家关注,https://bobjin.com