类别:前端知识

日期:2020-12-16 浏览:1816 评论:0

一、动态加载javascript方法

<script type="text/javascript">
var style = document.createElement("style");
style.type = "text/css";
style.appendChild(document.createTextNode("body{background-color:#f00;}"));
var head = document.getElementsByTagName("head")[0];
head.appendChild(style);
</script>

另一种指定javascript代码的方式是行内方式,IE中将script视为一个特殊元素,不允许DOM访问其子节点。可以使用text属性来指定。

通用方式:

<script type="text/javascript">
function loadScriptString(code){
    var script = document.createElement("script");
    script.type = "text/javascript";
    try{
        script.appendChild(document.createTextNode(code))
    }catch(ex){
        script.text = code;
    }
    document.body.appendChild(script);
}
loadScriptString("function say(){alert('hello')} say();")
</script>

二、动态加载CSS方法

<script type="text/javascript">
function loadStyle(url){
    var link = document.createElement('link');
    link.rel = "stylesheet";
    link.type = "text/css";
    link.href = url;
    var head = document.getElementsByTagName("head")[0];
    head.appendChild(link);
}
loadStyle("css.css");
</script>

另一种定义样式的方式是使用style元素来包含嵌入式css,IE需要使用cssText属性,其他浏览器通过标准的DOM方式即可。

通用方法

<script type="text/javascript">
function loadStyleString(css){
    var style = document.createElement("style");
    style.type = "text/css";
    try{
        style.appendChild(document.createTextNode(css))
    }catch(ex){
        style.styleSheet.cssText = css;
    }
    var head = document.getElementsByTagName("head")[0];
    head.appendChild(style);
}
loadStyleString("body{background-color:#f00;}")
</script>


本文标题:如何动态加载JavaScript和Css?
本文链接:https://vtzw.com/post/494.html
作者授权:除特别说明外,本文由 零一 原创编译并授权 零一的世界 刊载发布。
版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。
 您阅读本篇文章共花了: 

 可能感兴趣的文章

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。