자바스크립트 동적 스크립트 추가

高洛峰
풀어 주다: 2016-10-12 11:40:13
원래의
1128명이 탐색했습니다.

异步加载js文件或者异步加载js模块,支持所有浏览器,包括IE,参考至javascript高级编程

1.createScript方法用于创建一个script标签并添加到body标签中

2.createModule方法用于创建一个script脚本的标签,并且如果在IE8以下的版本运行会抛出异常,在异常捕获模块中执行script.text兼容IE添加js的脚本内容。

<button id="demo">js文件</button>
    <button id="demo1">js模块</button>
    <script type="text/javascript">
        //异步加载文件,支持所有浏览器
        document.getElementById("demo").onclick = function () {
            createScript("../../js/jquery-1.8.3.min.js");
        }

        function createScript(url) {
            var script = document.createElement("script");
            script.type = "text/javascript";
            script.src = url;
            document.body.appendChild(script);
        }


        //这里首先会尝试标准的DOM方法,因为除了IE(在IE中会抛出错误),所有浏览器都支持这种方法,如果抛出错误则说明是IE,于是就必须使用tezt属性了
        document.getElementById("demo1").onclick = function () {
            createModule("function sayHi(){alert(&#39;Hi !&#39;)}");
        }

        function createModule(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);
        }
    </script>
로그인 후 복사


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿