Проблема со скриптом в IE 8
<html>
$GLOBAL_PAGENAME$ <body class="body_main_pages"> <?if(($USER_AGENT$='firefox' && substr($USER_AGENT_VER$,0,1)>2)||($USER_AGENT$='ie ' && substr($USER_AGENT_VER$,0,1)>6))?> $RCODE_1$ <div class="div_noscript_none"> $ADMIN_BAR$ $GLOBAL_AHEADER$ $GLOBAL_CLEFTER$ $BODY$ <span id="jsonon">$TIME$</span> <script> $(document).ready(function(){ $('#jsonon').load(location.href+' #jsonon',function () { var a_i=$('#jsonon').text(); var a_2=a_i.substr(6,2); var b_2=a_i.substr(3,2); var c_2=a_i.substr(0,2); function cl() { if (a_2==59) { a_2=0; b_2++; } else { if (a_2<59) { a_2++; } } if (b_2==60) { b_2=0; c_2++; } if (c_2==24) { c_2=0; } if (a_2<10) { stra='0'+a_2; } else { stra=a_2; } if (b_2<10) { strb='0'+b_2; } else { strb=b_2; } if (c_2<10) { strc='0'+c_2; } else { strc=c_2; } document.getElementById('jsonon').innerHTML=strc+' :'+strb+':'+stra; }; setInterval(cl, 1000); }); }); </script> $GLOBAL_DRIGHTER$ $GLOBAL_BFOOTER$ <?substr($POWERED_BY$,0,0)?> </div> <?else?> $RCODE_3$ <div class="text_black_around">сейчас вы используете браузер<span class="otstup_horizontal_px_6"></span><span class="text_black_around_bold"><?if($USER_AGENT$=' ie'||$USER_AGENT$='firefox')?><?if($USER_AGENT$='i e')?>Internet Explorer<?endif?><?if($USER_AGENT$='firefox')?>Moz illa Firefox<?endif?><?else?>$USER_AGENT$<?endif?> (версия $USER_AGENT_VER$)</span></div> <div class="otstup_vertical_px_10"></div> <div class="text_black_around"> <?if(($USER_AGENT$='firefox' && substr($USER_AGENT_VER$,0,1)<3)||($USER_AGENT$='ie ' && substr($USER_AGENT_VER$,0,1)<7))?>смените версию браузера на более позднюю!<?else?>смените браузер!<?endif?> </div> $RCODE_4$ <?endif?> </body> </html> Вот код страницы со скриптом. В браузере Mozilla Firefox всё работает нормально с методом load. В IE 8 же вылезает ошибка: Требуется объект (код 0) Строка 1, символ 1. Я не понимаю в чём проблема, но она возникает именно тогда, когда начинает работать функция load. Подскажите, пожалуйста, в чём проблема и как её исправить. |
Даже при желании Вам сложновато помочь, пожалуйста, отформатируйте код и избавьтесь от лишнего.
И попробуйе продебажить сами: Вы нашли «сомнительное» место, натыкайте туда алертов и посмотрите, что же происходит. |
<span id="jsonon">$TIME$</span>
<script> $(document).ready(function(){ $('#jsonon').load(location.href+' #jsonon',function () { var a_i=$('#jsonon').text(); var a_2=a_i.substr(6,2); var b_2=a_i.substr(3,2); var c_2=a_i.substr(0,2); function cl() { if (a_2==59) { a_2=0; b_2++; } else { if (a_2<59) { a_2++; } } if (b_2==60) { b_2=0; c_2++; } if (c_2==24) { c_2=0; } if (a_2<10) { stra='0'+a_2; } else { stra=a_2; } if (b_2<10) { strb='0'+b_2; } else { strb=b_2; } if (c_2<10) { strc='0'+c_2; } else { strc=c_2; } document.getElementById('jsonon').innerHTML=strc+' :'+strb+':'+stra; }; setInterval(cl, 1000); }); }); </script> Вот основной код. Происходит обновление участка кода на странице, и данные, которые вновь подгружены, впоследствии выполняются в функции. Ошибки в firefox никакой нет, более того, в IE 7 ошибок вообще не возникает. Сомнительных участков кода я не нашёл. Ошибка в IE 8 как раз возникает в тот самый момент, когда выполняется функция load. Причём самое интересное, что если в функции указать просто ссылку и полностью подгрузить страницу, ошибки не возникает. Если же указать после ссылки селектор id, как у меня, то возникает ошибка. |
Хм.. странно.. но избавился только что от ошибки, сделав так:
$('#jsonon').load(location.href+ $('#jsonon').text(),function () {...}); Теперь ошибки не возникает. |
Часовой пояс GMT +3, время: 20:33. |