• qq网站里动态加载脚本的实现


    function JsLoad(sUrl ,options){

        options = options || {};


        if(!options.sId) options.sId = 'jsload_'+Math.random();

        if(!options.varname) options.varname = 'datav4';
                
        var sId = 'jsload_'+options.sId;
        
        if(AppTui.$(sId)!='undefined'&&AppTui.$(sId)!=null){
            AppTui.$(sId).parentNode.removeChild(AppTui.$(sId));
        }
        var _script = document.createElement("script");
        _script.setAttribute("id", sId);
        _script.setAttribute("type", "text/javascript");
        _script.setAttribute("src", sUrl);
        document.getElementsByTagName("head")[0].appendChild(_script);
        
        if (!!document.all) {// IE
            _script.onreadystatechange = function(){
                var responseText = null;
                if (this.readyState == "loaded" || this.readyState == "complete") {
                    if(options.completeListener) {
                        try{
                            responseText = eval('('+options.varname+')');
                            if(typeof responseText != null){
                                options.completeListener(responseText);
                            }else{
                                if(options.errorListener) {
                                    options.errorListener();
                                }
                            }
                        }
                        catch(e)
                        {
                            if(options.errorListener)
                            {
                                options.errorListener();
                            }
                        }
                    }
                    _data=null;
                    if(AppTui.$(sId)!='undefined'&&AppTui.$(sId)!=null){
                        AppTui.$(sId).parentNode.removeChild(AppTui.$(sId));
                    }
                }
            };
        }
        else {// FF
            _script.onload = function(){
                
                var responseText = null;
                if(options.completeListener) {
                    try{
                        responseText = eval('('+options.varname+')');
                        if(typeof responseText!=null){
                            options.completeListener(responseText);
                        }else{
                            if(options.errorListener) {
                                options.errorListener();
                            }    
                        }
                    }
                    catch(e)
                    {
                      if(options.errorListener) {
                            options.errorListener();
                        }
                    }
                }
                _data=null;
                //alert( sId );
                
                if(AppTui.$(sId)!='undefined'&&AppTui.$(sId)!=null){
                    AppTui.$(sId).parentNode.removeChild(AppTui.$(sId));
                }
            };
        }
    };

    其中AppTui的定义如下:

    if (typeof AppTui == "undefined")
    {
        var AppTui = new Object();
    }

    AppTui.$ = function(s)
    {
        return (typeof s == "object") ? s: document.getElementById(s);
    };
     

  • 相关阅读:
    部署 AppGlobalResources 到 SharePoint 2010
    还原一个已删除的网站集
    使用仪表板设计器配置级联筛选器 (SharePoint Server 2010 SP1)
    File or arguments not valid for site template
    Pex and Moles Documentation
    Content Query Webpart匿名访问
    Running Moles using NUnit Console from Visual Studio
    Calling a WCF Service using jQuery in SharePoint the correct way
    Updating Content Types and Site Columns That Were Deployed as a Feature
    asp.net中判断传过来的字符串不为空的代码
  • 原文地址:https://www.cnblogs.com/yuanxiaoping_21cn_com/p/2284003.html
Copyright © 2020-2023  润新知