Показать сообщение отдельно
  #1 (permalink)  
Старый 28.08.2009, 20:33
Новичок на форуме
Отправить личное сообщение для Dimamerk Посмотреть профиль Найти все сообщения от Dimamerk
 
Регистрация: 28.08.2009
Сообщений: 1

Проблемма с JS и onmousemove в ИЕ
Здравствуйте.

Есть такой кусок кода:
isDOM=document.getElementById; //DOM1 browser (MSIE 5+, Netscape 6, Opera 5+)
isOpera=isOpera5=window.opera && isDOM; //Opera 5+
isOpera6=isOpera && window.print; //Opera 6+
isOpera7=isOpera && document.readyState; //Opera 7+
isMSIE=document.all && document.all.item && !isOpera; //Microsoft Internet Explorer 4+
isMSIE5=isDOM && isMSIE; //MSIE 5+
isNetscape4=document.layers; //Netscape 4.*
isMozilla=isDOM && navigator.appName=="Netscape"; //Mozilla или Netscape 6.*

var xPos = 0,yPos = 0;

if(isNetscape4) document.captureEvents(Event.MOUSEMOVE);
if(isMSIE || isOpera7){
  document.onmousemove=function(){
    xPos=event.clientX+document.body.scrollLeft; 
    yPos=event.clientY+document.body.scrollTop; 
    return true;
  }
}else if(isOpera){
  document.onmousemove=function(){
    xPos=event.clientX;
    yPos=event.clientY;
    return true;
  }
}else if(isNetscape4 || isMozilla){
  document.onmousemove=function(e){
    xPos = e.pageX;
    yPos = e.pageY;
    return true;
  }
}


что он делает думаю понятно, но есть с ним одна проблемма ИЕ 6,7,8 при первой загрузке страницы (где то в 70% случаев) ругается "Требуется объект" на строку xPos=event.clientX+document.body.scrollLeft; при обновлении, повторной загрузке ошибка не выскакивает. Ни опера, ни мозила ошибок не выдают.

Уже голову сломал что делать, на функционал это не влияет, событие обрабатывается нормально, но желтая иконка напрягает.

Может кто подскажет как это вылечить? Блокировать onerror не хочется.
Ответить с цитированием