【问题现状】 当网页加载完这个js后,这个js还没完全执行完的时候,这个网页上面的鼠标手状在不停的闪烁,而且有的时候变成忙碌的状态,但是等这个js执行完毕后就不闪烁了。在IE6 和其他IE内核的浏览器里面更是这样。但是在部分其他机子的IE6的浏览器里面不会这样。然后IE8 FF和其他非IE浏览器的里面没这样的情况出现。
【文件内容】
/*
+--------------------------------------
* Global Config File JavaScript
+--------------------------------------
* Date : 2010-12-09
* Charset: UTF-8 NONE BOM HEADER
* DESC : This is a global config file!
* Object cfg is a global object!
* You can put executive action in this!
* USE THIS FILE PLEASE READ /static/js/common.js First!
*/
var cfg = {};
cfg.QQ = '100000020';
cfg.siteurl = 'http:\/\/' + window.location.host;
cfg.sitename= '百度首页';
cfg.ChartID = 'LVT93360';
cfg.TEL = '021-88871855';
cfg.Chartlnk= 'http:\/\/lvt.zoosnet.net\/LR\/Chatpre.aspx?id=' + cfg.ChartID ;
cfg.QQlnk = 'tencent:\/\/message\/?uin=' + cfg.QQ + '&Site=' + cfg.sitename + '&Menu=yes';
cfg.ie = !-[1,]; //Boolean if this is IE,cfg.ie = 1.
var Dt = new Date();
cfg.today = Dt.getFullYear()+"-"+(Dt.getMonth()+1)+"-"+Dt.getDate();
/* 创建商务通代码 */
var Invite_top = 50;
var LiveAutoInvite0 = '您好,来自%IP%的朋友';
var LiveAutoInvite1 = '自首页自动邀请的对话';
var LiveAutoInvite2 = '';
var LrinviteTimeout = 10;
var LR_next_invite_seconds = 60; //15秒后再次显示自动邀请
document.write('<scri' + 'pt language="javascript" src="http:\/\/lvt.zoosnet.net\/JS\/LsJS.aspx?siteid=' + cfg.ChartID + '&float=1"><\/scr' + 'ipt>');
/* 针对IE的Bug */
try { document.execCommand('BackgroundImageCache', false, true); } catch(e) {}
$(function(){
//添加到收藏夹
var cookieop = {"path":"/"};
var favorval = "df";
if($.cookie("addfavor") != favorval ){
$(window).bind("beforeunload",function(){
addfavor();
$.cookie("addfavor",favorval,cookieop);
});
}
//导航定位
Navpoz();
//头部导航区域,兼容IE内核浏览器的样式动态添加
$('#header .nav li a').hover(function(){
$(this).addClass('curr');
},function(){
$(this).removeClass('curr');
});
//将UL的最后一个LI的底部Bottom的样式去掉
$('.lastLi-no-bottomborder').each(function(){
$(this).children('li:last').css('border-bottom','none')
});
//直接显示头部Ad
ShowHeader();
//1秒钟后显示Divbox
window.setTimeout("ShowDivbox()",1000);
//2秒后显示nkfree
window.setTimeout("ShowNkfree()",2000);
//3秒后显示底部广告
window.setTimeout("ShowBottom()",3000);
//4秒后显示头部统计代码
//window.setTimeout("ShowHeader()",4000);
//5秒后设置outline:none;
window.setTimeout("NoneOutline()",5000);
});
function ShowDivbox(){
var divQQbox_HTML = '<div id="divQQbox" style="z-index:1000;right:2px;position:absolute;top:30px;">'
+ ' <div id="divOnline">'
+ ' <div>'
+ ' <a style="cursor: pointer;" onclick="closure();"><img border="0" src="/images/closure_1.gif"></a><br \/>'
+ ' <a title="点击咨询专家" target="_blank" href="' + cfg.Chartlnk + '"><img border="0" src="/images/kefu_1.gif"></a><br \/>'
+ ' <a title="点击咨询专家" target="_blank" href="' + cfg.Chartlnk + '"><img border="0" src="/images/kefu_22.gif"></a><br>'
+ ' <a title="来院路线" target="_blank" href="/yygk/yydt/219.html"><img border="0" src="/images/kefu_2.gif"></a><br \/>'
+ ' <a href="' + cfg.QQlnk + '"><img border="0" src="\/images\/kefu_3.gif"><\/a><br \/>'
+ ' <img border="0" src="\/images\/kefu_4.gif">'
+ ' <\/div>'
+ ' <\/div>'
+ ' <div style="display:none;" onmousemove="OnlineOver();" id="divMenu">'
+ ' <img alt="就医服务" class="press" src="\/images\/xiaotu.gif">'
+ ' <\/div>'
+ '<\/div>';
$('.wrapper').append( divQQbox_HTML );
$(".wrapper").bind("scroll",function(){
$("#divQQbox").animate({top : $('.wrapper').scrollTop() + 30},{ duration:600 , queue:false });
});
$('#divQQbox').css("top",$(".wrapper").scrollTop()+30 );
}
function ShowNkfree(){
var nkfree_HTML = '<div id="nkfree" class="fixed-box" style="left:0;z-index:1000;">'
+ '<img class="btn" style="position: absolute; cursor: pointer; left:115px; top: 8px; display: block;" src="/images/2011/btn-close.gif" alt="close btn" border="0" />'
+ '<a target="_blank" href="' + cfg.Chartlnk + '"><img src="\/images\/nkfree.gif"><\/a>'
+ '<\/div>';
//兼容问题[删除旧代码]
if($('#nkfree').length > 0) $('#nkfree').remove();
$('body').append( nkfree_HTML );
$('#nkfree').css("top",($(document).scrollTop() + $(window).height()*0.4 ) + 'px');
$('#nkfree .btn').bind("click",function(){
$('#nkfree').fadeOut(300);
var tm = window.setTimeout(function(){ $('#nkfree').fadeIn(200);},10000);
});
}
function ShowBottom(){
var bottomHTML = '<div id="bottomFloatDiv" class="fixed-box" style="padding:0;height:30px;width:100%;background-color:#FFFFFF;z-index:1000;left:0;margin:0;">'
+ ' <div class="inner" style="width:948px;margin:0 auto;">'
+ ' <div class="fd1" style="float:left;margin:0;padding:0 2px;">'
+ ' <a href="' + cfg.Chartlnk + '" target="_blank"><img src="\/images\/dbfd.gif"><\/a>'
+ ' <\/div>'
+ ' <div class="fd2" style="float:left;margin:0;padding:0 2px;">'
+ ' <a href="' + cfg.Chartlnk + '" target="_blank"><img src="\/images\/dbfd1.gif"><\/a>'
+ ' <\/div>'
+ ' <div class="fd3" style="float:left;margin:0;padding:0 2px;">'
+ ' <a href="' + cfg.Chartlnk + '" target="_blank"><img src="\/images\/dbfd2.gif"><\/a>'
+ ' <\/div>'
+ ' <div style="clear:both"><\/div>'
+ ' <\/div>'
+ '<\/div>';
// css for bottomHTML
$('body').append( bottomHTML );
$('#bottomFloatDiv').css("top",($(document).scrollTop() + $(window).height() - $('#bottomFloatDiv').height()) + 'px');
$('#footer').css('margin-bottom','30px');
$(window).bind("resize",function(){ WinResize(); });
var tm = window.setTimeout("WinResize()",2000);
}
function WinResize(){
$('#bottomFloatDiv').css('top',$(document).scrollTop() + $(window).height() - $('#bottomFloatDiv').height());
}
function ShowHeader(){
//头部代码区域统计的
var tjurl = '/plus/tongji.php';
var tjhtm = '<div id="topnav" style="font-size:13px;height:22px;line-height:23px;z-index:1000;background-attachment:fixed;background-color:#FFF;background:url(/images/newimages/topnavbg.jpg) 0 -22px;width:100% !transparent;white-space:nowrap;">'
+ '<div class="topnav_inner" style="width:980px;margin:0 auto;white-space:nowrap;">'
+ '<div id="divtq" style="text-align:left;float:left;width:450px;">'
+ '正在载入天气预报...'
+ '<\/div>'
+ '<div style="text-align:right;float:right;width:520px"> '
+ '访问人次:(<span id="ipcount">加载中...<\/span>)人,'
+ '页面浏览:(<span id="pvcount">加载中...<\/span> )次'
+ '【<a href="javascript:;" onclick="setHomepg()">设为首页<\/a>】'
+ ' 【<a href="javascript:;" onclick="addfavor()">加入收藏<\/a>】'
+ '<\/div>'
+ '<\/div>'
+ '<div style="clear:both"><\/div>'
+ '<\/div>';
$(tjhtm).prependTo('.wrapper');
if(typeof(tq) == "object") tq.show();
$.ajax({
url:tjurl+'?'+(new Date()).valueOf(),
dataType: 'html',
'type': 'POST',
cache: false,
timeout: 5000,
error:function(){
//alert('error');
},
success: function(data){
eval('var json = ' + data);
if(typeof(json) == 'object'){
if(typeof(json.ipcount) != 'undefined') $('#ipcount').html( json.ipcount );
if(typeof(json.pvcount) != 'undefined') $('#pvcount').html( json.pvcount );
}
}
});
}
function closure() {
document.getElementById("divMenu").style.display = "";
document.getElementById("divOnline").style.display = "none";
}
function OnlineOver(){
document.getElementById("divMenu").style.display = "none";
document.getElementById("divOnline").style.display = "block";
}
【备注信息】我觉得就是这个js文件的效率很可能太低了。谁帮我看下。
4 个解决方案
#1
你这个 js 里面不是有多个 function 么 ? 一个一个的调 ,先将其他的 function 注释 ,跑一个 function 直到 找到导致该原因的那个 function ,这样不就缩小了查找范围 ?
#2
商务通的在线客服js 代码!!!
慢的原因在:
document.write('<scri' + 'pt language="javascript" src="http:\/\/lvt.zoosnet.net\/JS\/LsJS.aspx?siteid=' + cfg.ChartID + '&float=1"><\/scr' + 'ipt>');
它应该还动态加载了其它js
你用 firebug ,可以看到所有的网络资源!这样容易找到瓶颈!
可以设置这些js 延时加载
慢的原因在:
document.write('<scri' + 'pt language="javascript" src="http:\/\/lvt.zoosnet.net\/JS\/LsJS.aspx?siteid=' + cfg.ChartID + '&float=1"><\/scr' + 'ipt>');
它应该还动态加载了其它js
你用 firebug ,可以看到所有的网络资源!这样容易找到瓶颈!
可以设置这些js 延时加载
#3
还是没有啊,用排除法,并不是这个导致的,是他背后的写在$(function(){ })这个里面的代码导致的
#4
问题还是没有解决……
一直存在。
一直存在。
#1
你这个 js 里面不是有多个 function 么 ? 一个一个的调 ,先将其他的 function 注释 ,跑一个 function 直到 找到导致该原因的那个 function ,这样不就缩小了查找范围 ?
#2
商务通的在线客服js 代码!!!
慢的原因在:
document.write('<scri' + 'pt language="javascript" src="http:\/\/lvt.zoosnet.net\/JS\/LsJS.aspx?siteid=' + cfg.ChartID + '&float=1"><\/scr' + 'ipt>');
它应该还动态加载了其它js
你用 firebug ,可以看到所有的网络资源!这样容易找到瓶颈!
可以设置这些js 延时加载
慢的原因在:
document.write('<scri' + 'pt language="javascript" src="http:\/\/lvt.zoosnet.net\/JS\/LsJS.aspx?siteid=' + cfg.ChartID + '&float=1"><\/scr' + 'ipt>');
它应该还动态加载了其它js
你用 firebug ,可以看到所有的网络资源!这样容易找到瓶颈!
可以设置这些js 延时加载
#3
还是没有啊,用排除法,并不是这个导致的,是他背后的写在$(function(){ })这个里面的代码导致的
#4
问题还是没有解决……
一直存在。
一直存在。