暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

JS动态加载样式和脚本文件

原创 编程三昧 2023-09-11
237

在前端开发的过程中,不可避免的需要根据前置条件动态加载样式和脚本文件,今天我们来简单的实现一下动态加载样式和脚本文件的方法。

动态加载样式文件

使用以下脚本可实现页面CSS文件的动态加载。

function loadStyle(url) { try { document.createStyleSheet(url); } catch (e) { var cssLink = document.createElement("link"); cssLink.rel = "stylesheet"; cssLink.type = "text/css"; cssLink.href = url; var head = document.getElementsByTagName("head")[0]; head.appendChild(cssLink); } }

动态加载脚本文件

function appendscript(src, text, reload, charset) { var id = hash(src + text); if (!reload && in_array(id, evalscripts)) return; if (reload && $(id)) { $(id).parentNode.removeChild($(id)); } evalscripts.push(id); var scriptNode = document.createElement("script"); scriptNode.type = "text/javascript"; scriptNode.id = id; scriptNode.charset = charset ? charset : BROWSER.firefox ? document.characterSet : document.charset; try { if (src) { scriptNode.src = src; scriptNode.onloadDone = false; scriptNode.onload = function() { scriptNode.onloadDone = true; JSLOADED[src] = 1; }; scriptNode.onreadystatechange = function() { if ( (scriptNode.readyState == "loaded" || scriptNode.readyState == "complete") && !scriptNode.onloadDone ) { scriptNode.onloadDone = true; JSLOADED[src] = 1; } }; } else if (text) { scriptNode.text = text; } document.getElementsByTagName("head")[0].appendChild(scriptNode); } catch (e) {} }

总结

可以看到,所谓的动态加载其实就是通过JS方法创建文件的引用标签,给标签添加上文件路径后,再使用DOM方法动态地追加至HTML页面。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论