zoukankan      html  css  js  c++  java
  • 动态加载(异步加载)jquery/MUI类库 页面加载完成后加载js类库

    动态加载Mui类库:

        // ==UserScript==
        // @name
        // @version  1.4.0
        // @author  zzdhidden@gmail.com
        // @namespace https://github.com/zzdhidden
        // @description 异步加载mui类库
        // @include
        // @require
        // ==/UserScript==
        function withMUI(callback, safe){
            if(typeof(mui) == "undefined") {
                var script = document.createElement("script");
                script.type = "text/javascript";
                script.src = "${resModel.getJsDomain()}/communal/static/js/mui.js";
                if(safe) {
                    var cb = document.createElement("script");
                    cb.type = "text/javascript";
                    cb.textContent = "(" + callback.toString() + ")(mui, window);";
                    script.addEventListener('load', function() {
                        document.head.appendChild(cb);
                    });
                }
                else {
                    var dollar = undefined;
                    if(typeof($) != "undefined") dollar = $;
                    script.addEventListener('load', function() {
                        $ = dollar;
                        callback(mui, window);
                    });
                }
                document.head.appendChild(script);
            } else {
                setTimeout(function() {
                    //Firefox supports
                    callback(mui, typeof unsafeWindow === "undefined" ? window : unsafeWindow);
                }, 30);
            }
        }
        withMUI(function($, window){
            $(function() {
               //在此就可以执行执行你的代码了
            })();
        }, true);
    

      

    核心是要script的load事件完成后执行代码才有效。

    动态加载jquery:

    // ==UserScript== 
    // @name   12306 Booking Assistant
    // @version  1.4.0
    // @author  zzdhidden@gmail.com
    // @namespace https://github.com/zzdhidden
    // @description 12306 订票助手之(自动登录,自动查票,自动订单)
    // @include  *://dynamic.12306.cn/otsweb/*
    // @require https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
    // ==/UserScript== 
    function withjQuery(callback, safe){
     if(typeof(jQuery) == "undefined") {
      var script = document.createElement("script");
      script.type = "text/javascript";
      script.src = "https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js";
      if(safe) {
       var cb = document.createElement("script");
       cb.type = "text/javascript";
       cb.textContent = "jQuery.noConflict();(" + callback.toString() + ")(jQuery, window);";
       script.addEventListener('load', function() {
        document.head.appendChild(cb);
       });
      }
      else {
       var dollar = undefined;
       if(typeof($) != "undefined") dollar = $;
       script.addEventListener('load', function() {
        jQuery.noConflict();
        $ = dollar;
        callback(jQuery, window);
       });
      }
      document.head.appendChild(script);
     } else {
      setTimeout(function() {
       //Firefox supports
       callback(jQuery, typeof unsafeWindow === "undefined" ? window : unsafeWindow);
      }, 30);
     }
    }
    withjQuery(function($, window){
     $(function() { alert("jQuery loaded"); })();
    }, true);
    

      

  • 相关阅读:
    在 LR 中如何解决Socket 接收数据的验证
    UE 的文件比较方法
    使用plSQL连接Oracle报错,SQL*Net not properly installed和TNS:无法解析指定的连接标识符
    plsql developer连接oracle数据库
    将列表中的字符以‘*’连接生成一个新的字符串
    ElasticSearch之CURL操作
    MySQL 5.7.21 免安装版配置教程
    C# IL DASM 使用-破解c#软件方法
    For-each Loop,Index++ Loop , Iterator 那个效率更高
    10种简单的Java性能优化
  • 原文地址:https://www.cnblogs.com/jifeng/p/6058884.html
Copyright © 2011-2022 走看看