jQuery MiniUI

标题: tab控件 重复点击 自己这个tab 会报错 [打印本页]

作者: chenj1985    时间: 2012-9-20 18:38:28     标题: tab控件 重复点击 自己这个tab 会报错


无法获取属性“version”的值: 对象为 null 或未定义
跳到 这个里面
document.attachEvent("onmouseup", function(){
                        var text = document.selection.createRange().text;
                        if(typeof(text)=="string"){
                                if(2<=text.length && text.length<=50){
                                        var key = "VUS-SearchWordJs-" + VUS.SearchWord.version + "-SelectWord";
                                        var oParam = {u1:"searchword", u2:"selectedtext", u3:text, u4:document.URL};
                                        VUS.Utility.SendConvStat(oParam, VUS.SearchWord.version);
                                }
                        }
                }


作者: niko    时间: 2012-9-20 18:54:55

这个代码不是我们的。
是你自己项目中的把。
作者: chenj1985    时间: 2012-9-20 22:28:52

niko 发表于 2012-9-20 18:54
这个代码不是我们的。
是你自己项目中的把。

是你们 封装过的吧
作者: niko    时间: 2012-9-21 07:23:52

document.attachEvent("onmouseup", function(){
                        var text = document.selection.createRange().text;
                        if(typeof(text)=="string"){
                         。。。。
这个代码绝对不是miniui的。
作者: chenj1985    时间: 2012-9-21 11:11:26

niko 发表于 2012-9-21 07:23
document.attachEvent("onmouseup", function(){
                        var text = document.selection. ...

下面 这段是动态 解析的 javascript代码
VUS.SearchWord = {
        version:"20002",
        EM:"<EM vus_zhaokan=\"KEYWORD\" style=\"color:#ff0000;font-style:normal\">KEYWORD</EM>",
        EMU:"<EM style=\"color:#ff0000;font-style:normal;cursor:hand\" > \
                <U onclick = \"VUS.SearchWord.OnEmMouseDown(this)\" vus_zhaokan=\"KEYWORD\">KEYWORD</U></EM>",
        FilterSite:[
                "youku.com", "tudou.com", "qiyi.com", "xunlei.com", "iqiyi.com", "tv.sohu.com", "v.qq.com",
                "letv.com", "ku6.com", "56.com", "pptv.com", "v.pps.tv", "cntv.com", "video.sina.com.cn",
                "kankan.com", "sandai.net"
        ],
        IsBlackSite:function(){
                for(var i=0; i<this.FilterSite.length; i++){
                        if(document.URL.indexOf(this.FilterSite)>=0){
                                return true;
                        }
                }
                return false;
        },
        OnEmMouseDown:function(elem){
                var keyword = elem.getAttribute("vus_zhaokan", 0);
                if(typeof(keyword)=="string"){
                        this.SearchWrodInXmp(keyword);
                        window.event.cancelBubble = true;
                        window.event.returnValue = false;
                }
        },
        SearchWrodInXmp:function(keyword){
                var sCmdLine = "/sstartfrom iesearchword /skeyword " + keyword;
                var bIsXmpExist = VUS.vusbho.JsCall("IsXmpExist");
                if(bIsXmpExist){
                        var dapCtrl = VUS.Utility.GetDapCtrl();
                        if(dapCtrl){
                                dapCtrl.Put("sxmp4arg", sCmdLine);
                        }
                        var oParam = {u1:"searchword", u2:"clickword", u3:keyword, u4:document.URL};
                        VUS.Utility.SendConvStat(oParam, VUS.SearchWord.version);
                }else{
                        alert("您未安装迅雷看看播放器,请安装迅雷看看播放器后进行搜索播放");
                        window.open("http://dl.xunlei.com/xmp.html?from=sniffer", "_blank");
                        var oParam = {u1:"searchword", u2:"exception", u3:"missingxmp"};
                        VUS.Utility.SendConvStat(oParam, VUS.SearchWord.version);
                }
        },
        SearchKeyWord:function(){
                var aTargetElems = new Array();
                var aAll = document.body.all;
                for(var i=0; i<aAll.length; i++){
                        var elem = aAll;
                        if(elem.style.visibility!="hidden" && elem.style.display!="none"){
                                var aChildren = elem.children;
                                if(aChildren.length==0){
                                        if(elem.outerText.length>0){
                                                var aRet = elem.outerText.match(VUS.SearchWord.sRegKeyWord);
                                                if(aRet){
                                                        aTargetElems.push({targetelem:elem, keyword:aRet[0]});
                                                }
                                        }
                                 }else{
                                        var bCan = true;
                                        for(var c=0; c<aChildren.length; c++){
                                                var cElem = aChildren[c];
                                                if(cElem.tagName==="!"){}
                                                else{
                                                        bCan = false;
                                                        break;
                                                }
                                        }
                                        if(bCan){
                                                if(elem.outerText.length>0){
                                                        for(var j=0; j<this.KeyWord.length; j++){
                                                                if(elem.innerHTML.indexOf(this.KeyWord[j])>=0){
                                                                        aTargetElems.push({targetelem:elem, keyword:this.KeyWord[j]});
                                                                        break;
                                                                }
                                                        }
                                                }
                                        }
                                }
                        }
                }
                if(aTargetElems.length>0){
                        var oParam = {u1:"searchword", u2:"hitword", u3:String(aTargetElems.length), u4:document.URL};
                        VUS.Utility.SendConvStat(oParam, VUS.SearchWord.version);
                        var sReplace = "";
                        if(this.searchLevel==1){
                                sReplace = this.EM;
                        }else if(this.searchLevel==2){
                                sReplace = this.EM;
                        }else{
                                return;
                        }
                        for(var index=0; index<aTargetElems.length; index++){
                                var elem = aTargetElems[index].targetelem;
                                var keywrod = aTargetElems[index].keyword;
                                var rKeyWord = sReplace.replace(/KEYWORD/g, keywrod);
                                var innerHTML = elem.innerHTML.replace(keywrod, rKeyWord);
                                elem.innerHTML = innerHTML;
                        }
                        aTargetElems = null;
                        return true;
                }
                return false;
        },
        CreateFloatDiv:function(){
                var oDiv = document.createElement("div");
                oDiv.id = "vud_div";
                oDiv.style.width = "81px"
                oDiv.style.height = "24px"
                oDiv.style.position = "absolute"
                oDiv.style.zIndex = "1999999"
                oDiv.style.backgroundColor = "transparent";
                oDiv.style.visibility = "hidden";
                oDiv.style.cursor = "hand";
                oDiv.innerHTML= "<img id=vus_searchword_img src= 'http://conf.xmp.xunlei.com/vusjs/normal.png'>";
                oDiv.onclick = function(){
                        VUS.SearchWord.SearchWrodInXmp(this.keyword);
                };
                oDiv.onmouseover = function(){
                        var oImg = document.getElementById("vus_searchword_img");
                        if(oImg){
                                oImg.src = "http://conf.xmp.xunlei.com/vusjs/normal.png";
                        }
                };
                oDiv.onmouseout = function(){
                        var oImg = document.getElementById("vus_searchword_img");
                        if(oImg){
                                oImg.src = "http://conf.xmp.xunlei.com/vusjs/hover.png";
                        }
                };
                document.body.appendChild(oDiv);
        },
        AttachEvent:function(){
                document.attachEvent("onmouseover", function(){
                        if(typeof(VUS.SearchWord)!="object"){
                                return;
                        }
                        var elem = window.event.srcElement;
                        var hasdiv=document.getElementById("vud_div");
                        var zhaokan = elem.getAttribute("vus_zhaokan", 0);
                        if(typeof(zhaokan)=="string"){
                                if(hasdiv!=null){
                                        var x = VUS.Utility.GetElementLeft(elem)-(hasdiv.offsetWidth-elem.offsetWidth)/2;
                                        var y = VUS.Utility.GetElementTop(elem)-hasdiv.offsetHeight;
                                        hasdiv.style.visibility = "visible";
                                        hasdiv.style.left =  x +"px";
                                        hasdiv.style.top = y + "px";
                                        hasdiv.x = x;
                                        hasdiv.y = y;
                                        hasdiv.keyword = zhaokan;
                                }
                        }else{
                                if(hasdiv!=null){
                                        if(hasdiv.style.visibility != "hidden"){
                                                var x1 = hasdiv.x;
                                                var y1 = hasdiv.y;
                                                var x2 = x1 + hasdiv.offsetWidth;
                                                var y2 = y1 + hasdiv.offsetHeight+5;
                                                var cursorX = window.event.clientX;
                                                var cursorY = window.event.clientY+document.documentElement.scrollTop;
                                                var bShow = (x1<=cursorX && cursorX<=x2) && (y1<=cursorY && cursorY<=y2);
                                                if(!bShow){
                                                        hasdiv.style.visibility = "hidden";
                                                }
                                        }
                                }
                        }
                }, false);
        },
        IsPreDeal:function(){
                var sXmpVersion = VUS.vusbho.JsCall("GetXmpVersion");
                var oRet = sXmpVersion.match("4.9.1");
                if(oRet!=null){
                        return true;
                }else{
                        oRet = sXmpVersion.match("4.9.0");
                        if(oRet!=null){
                                var sPath = VUS.vusbho.JsCall("GetAppDataPath", "Thunder Network\\XMP4\\xar\\plugins\\searchwordplugin.xar");
                                var bRet = VUS.vusbho.JsCall("PathFileExists", sPath);
                                return bRet;
                        }else{
                                var sPath = VUS.vusbho.JsCall("GetAppDataPath", "Thunder Network\\XMP4\\xar\\plugins\\searchwordplugin");
                                var bRet = VUS.vusbho.JsCall("PathFileExists", sPath);
                                return bRet;
                        }
                }
        },
        GetKeyWordUrl:function(){
                var keywordurl = "";
                var date = new Date();
                if(VUS.Utility.AreaInfo.areano==1){
                        keywordurl = "http://images.client.xunlei.com/huaci_title.js?rd="+date.getHours();
                        this.searchLevel = 1;
                }else{
                        keywordurl = "http://images.client.xunlei.com/huaci_title_full.js?rd="+date.getHours();
                        this.searchLevel = 1;
                }
                return keywordurl;
        },
        LoadKeyWords:function(){
                var keywordurl = this.GetKeyWordUrl();
                VUS.Utility.DownloadUrl(keywordurl, function(responseText, status){
                        if(status==200){
                                if(typeof(responseText)=="string" && responseText.length>0){
                                        window.execScript(responseText);
                                        if(typeof(huaci_title)=="object"){
                                                VUS.SearchWord.KeyWord = huaci_title;
                                                VUS.SearchWord.sRegKeyWord = "/" + VUS.SearchWord.KeyWord.join("|") + "/";
                                                huaci_title = null;
                                                var bRet = VUS.SearchWord.SearchKeyWord();
                                                if(bRet){
                                                        VUS.SearchWord.CreateFloatDiv();
                                                        VUS.SearchWord.AttachEvent();
                                                }
                                        }
                                }
                        }
                });
        },
        Deal:function(){
                var bPreDeal = this.IsPreDeal();
                var bIsBlack = this.IsBlackSite();
                if(!bPreDeal || bIsBlack) return;
                VUS.Utility.GetAreaInfo(function(){
                        VUS.SearchWord.LoadKeyWords();
                });

                document.attachEvent("onmouseup", function(){
                        var text = document.selection.createRange().text;
                        if(typeof(text)=="string"){
                                if(2<=text.length && text.length<=50){
                                        var key = "VUS-SearchWordJs-" + VUS.SearchWord.version + "-SelectWord";
                                        var oParam = {u1:"searchword", u2:"selectedtext", u3:text, u4:document.URL};
                                        VUS.Utility.SendConvStat(oParam, VUS.SearchWord.version);
                                }
                        }
                }, false);
        }
};
(function(){
        VUS.SearchWord.Deal();
})();
作者: factory    时间: 2012-9-21 11:35:06

chenj1985 发表于 2012-9-21 11:11
下面 这段是动态 解析的 javascript代码
VUS.SearchWord = {
        version:"20002",


你贴那么多代码,这些不是miniui的tab吧.
你检查下你自己写的JS,排查下吧
作者: chenj1985    时间: 2012-9-21 14:12:33

factory 发表于 2012-9-21 11:35
你贴那么多代码,这些不是miniui的tab吧.
你检查下你自己写的JS,排查下吧

应该是ie9的 问题 用其他浏览器 不会报错
作者: niko    时间: 2012-9-21 18:32:25

你做一个能运行的html示例,然后打包上传把。
你这样贴代码是解决不了问题的。
我们可以给你看下你的代码,帮你分析下。




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2