zoukankan      html  css  js  c++  java
  • ↗☻【高性能网站建设进阶指南 #BOOK#】第5章 整合异步脚本

    <!doctype html>
    <html lang="zh-CN">
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <script>
            if (window.addEventListener) {
                window.addEventListener('load', init, false);
            } else if (window.attachEvent) {
                window.attachEvent('onload', init);
            }
    
            // onreadystatechange在Internet Explorer中有效,onload在其他浏览器中有效,而Opera比较特殊,两者都有效,所以程序中需要做标记来处理
            function init() {
                console.log($);
            }
            var domscript = document.createElement('script');
            domscript.src = 'http://static01.baomihua.com/js/lib/jquery-1.4.4.min.js?t=20120926.js';
            domscript.onloadDone = false;
            domscript.onload = function() {
                if (! domscript.onloadDone) {
                    domscript.onloadDone = true;
                    init();
                }
            };
            domscript.onreadystatechange = function() {
                if (("loaded" === domscript.readyState || "complete" === domscript.readyState ) && ! domscript.onloadDone) {
                    domscript.onloadDone = true;
                    init();
                }
            };
            document.getElementsByTagName('head')[0].appendChild(domscript);
    
            function f() {
                console.log('f()');
            }
            var scriptdom = document.createElement('script');
            scriptdom.src = 'ca.js';
            if (-1 != navigator.userAgent.indexOf('Opera')) {
                scriptdom.innerHTML = 'f()';
            } else {
                scriptdom.text = 'f()';
            }
            document.getElementsByTagName('head')[0].appendChild(scriptdom);
        </script>
    </body>
    </html>

    ca.js

    function createMenu() {
        console.log('createMenu');
    }
    var scripts = document.getElementsByTagName('script');
    var cntr = scripts.length;
    while (cntr) {
        var curScript = scripts[cntr - 1];
        if (-1 != curScript.src.indexOf('ca.js')) {
            eval(curScript.innerHTML);
            break;
        }
        cntr--;
    }
  • 相关阅读:
    hdu 4651 Partition (利用五边形定理求解切割数)
    单点登录SSO的实现原理
    高速排序算法
    2014 百度之星第三题
    TR069协议向导——一个帮助你了解TR069协议的简明教程(一)
    教你用笔记本破解无线路由器password
    人脸识别算法初次了解
    JSP验证码
    GROUP BY,WHERE,HAVING之间的差别和使用方法
    typedef函数指针使用方法
  • 原文地址:https://www.cnblogs.com/jzm17173/p/3113546.html
Copyright © 2011-2022 走看看