chromium/third_party/blink/web_tests/fast/dom/script-add.html

<html>
    <head>
        <script type="text/javascript">
            function log(number)
            {
                var item = document.createElement("li");
                item.appendChild(document.createTextNode("Loaded script " + number + "."));
                document.getElementById("console").appendChild(item);
            }
            function test1()
            {
                var oHead = document.getElementsByTagName('head')[0];
                var oScript = document.createElement('script');
                oScript.setAttribute('type', 'text/javascript');
                oHead.appendChild(oScript);
                oScript.text = 'log("1"); test2();';
            }
            function test2()
            {
                var oHead = document.getElementsByTagName('head')[0];
                var oScript = document.createElement('script');
                oScript.setAttribute('type', 'text/javascript');
                oHead.appendChild(oScript);
                oScript.innerText = 'log("2"); test3();';
            }
            function test3()
            {
                var oScript = document.createElement('SCRIPT');
                var oHead = document.getElementsByTagName('HEAD')[0];
                oScript.setAttribute('type', 'text/javascript');
                oScript.setAttribute('src', 'resources/script3.js');
                oHead.appendChild(oScript);
            }
            function test4()
            {
                var oScript = document.createElement('SCRIPT');
                var oHead = document.getElementsByTagName('HEAD')[0];
                oScript.language = 'javascript';
                oScript.src = 'resources/script4.js';
                oHead.appendChild(oScript);
            }
            function test5()
            {
                var oScript = document.createElement('script');
                var oBody = document.getElementsByTagName('body')[0];
                oScript.setAttribute('type', 'text/javascript');
                oScript.setAttribute('src', 'resources/script5.js');
                oBody.appendChild(oScript);
            }
            function test()
            {
                if (window.testRunner) {
                    testRunner.dumpAsText();
                    testRunner.waitUntilDone();
                }
                
                test1();
            }
    </script>
    </head>
    <body onload="test()">
        <p>This tests 5 different ways of dynamically loading a script by creating a script element.</p>
        <p>If it works you should see 5 messages below about successfully loading a script.</p>
        <hr>
        <p><ol id="console"></ol></p>
    </body>
</html>