Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   То-ли лыжи не едут, толи... возможно ошибка в коде. (https://javascript.ru/forum/misc/3697-li-lyzhi-ne-edut-toli-vozmozhno-oshibka-v-kode.html)

AzriMan 15.05.2009 10:50

То-ли лыжи не едут, толи... возможно ошибка в коде.
 
предыстория. обратилась ко мне одна сотрудница с информацией о том что на корпоративном сайте не работает один раздел. я

посмотрел-да, действительно. обновил у нее страницу-всё заработало. возникло предположение, что браузер закешировал старые js и возникла какая-то ошибка. повторюсь, после обновления страницы ошибка пропала. тогда я не придал этому значение. но,

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

браузер не мог "что-то" закешировать. и опять-после обновления страницы всё норм (человек сам обновил и об этом сообщил).

обе сотрудницы пользовались IE, вероятно, шестым.

воспроизвести похожую ситуацию не представляется возможным. поэтому прошу вас помочь. возникнет ли у вас в браузере

какая-либо ошибка? и если да, то какая?

маршрут, по которому "шел" пользователь:

главная страница: http://tinyurl.com/q8gduj
потом кликает в меню "АНАЛИТИКА" и выбирает второй пункт (http://tinyurl.com/ofyhz5)


p.s. на момент написания поста я смог добиться, что IE стал ругаться:
1. недопустимый знак, строка 2, символ 7.
2я строчка: "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">"
причем, 1я строчка у меня была пустая. я сразу сейчас нашел в коде откуда она появляется и пофиксил. таким образом, 2я строчка стала 1й, а на место ее встала строка "<html>". но ошибка осталась именно в такой же формулировке и именно с 2й строкой, 7м символом.


код, который "это" выводит:
Код:

<?php
...
if (!isset($doctype))
        $doctype = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\r\n";
echo $doctype;
?>
<html>
<head>
...


2. Предполагается наличие объекта, строка 520, символ 1.
520я строка: " this.style.backgroundColor= '#B01235';" "
несколько строчек рядом:
Код:

<td  nowrap class="DhtmlNavigation"
        onClick="location.href='/_russian/analytics/main/cur_rus.php'"
        onMouseOver="
        this.style.backgroundColor= '#B01235';"
        onMouseOut="this.style.backgroundColor= '';">
        <a class="item_link">- Россия</a>

</td>

хотя, кусков в коде, подобных этому, наберется достаточно - ошибка всё равно одна. и что-то мне подсказывает, что дело совсем не в этой 520й строке. и при всём при этом (точнее, при этих 2х ошибках в IE) - js код, расположенный на страницах, выполняется...

есть какие-нибудь идеи, что, вообще, is going on? :)

evgen28 15.05.2009 10:59

а можно увидеть код страницы до head полностью?
<?php
...
if (!isset($doctype))
$doctype = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\r\n";
echo $doctype;
?>
<html>
<head>

AzriMan 15.05.2009 11:24

не вижу, чем это может помочь:
Код:

<?php
$server = $_SERVER['HTTP_HOST'];

include($_SERVER['DOCUMENT_ROOT']."/_text_misc/session.php");
include($_SERVER['DOCUMENT_ROOT']."/core/misc/menu_var.php");

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

кстати, да, я немного "обманул". написанный в прошлом посте код для главной страницы. для второй ссылки код - см тег code парой строчек выше. (у меня 2 template-файла, незначительно отличающиеся)

evgen28 15.05.2009 11:42

Попробуй поискать ошибку в session.php. Возможно у тебя неправильно выстраивается механизм сессий в php - из-за этого при первой загрузке страницы-одна страница, при ее обновлении показывается другая. У меня такое было на joomla-cms. Я ссылку когда передавал другим пользоавтелям-при первом открытии перенаправлялось на index.php начальной страницы, хотя при повторной вставке ссылки туда же и перезагрузке страницы все было правильно. Не помню как решил-по-моему был косяк с сессиями.

AzriMan 15.05.2009 12:09

я понял твою идею. в файле session.php редирект (header()) выполняется только при условии
Код:

if(isset($_POST['Submit']))
. при обычном переходе по ссылкам нет ни POST`а, ни Submit`а.

да, забыл добавить. проверял примерно на 5 разных компах. вот те две ошибки в IE, почему-то, срабатывают только у меня. настройки политик безопасностей браузера и прочего одинаковые.


p.s. основной интерес представляет повторение ошибки описанной в "предыстории". может у кого возникнет. ибо, со "слов", "страница открылась и ничего не работало". поясню: "ссылки/текста" были не кликабельны (при клике на текст происходит "разворачивание" скрытого DIV`а. при клике на чем-то внутри DIV`а подгружается контент с сервера)

x-yuri 15.05.2009 12:31

я как-то забил на попытки понять, как найти строку с ошибкой в ie, кроме как с помощью отладчика. Для этого должен быть установлен office (с ним ставиться microsoft script debugger) и включена отладка в ie
p.s. у меня никаких ошибок не возникает (ie 6, ie 7)

AzriMan 15.05.2009 12:38

Цитата:

Сообщение от x-yuri (Сообщение 19034)
я как-то забил на попытки понять, как найти строку с ошибкой в ie, кроме как с помощью отладчика. Для этого должен быть установлен office (с ним ставиться microsoft script debugger) и включена отладка в ie
p.s. у меня никаких ошибок не возникает (ie 6, ie 7)

т.е. сразу, с первого захода в подпункт аналитики всё работает, всё раскрывается и статистика успешно подгружается?

x-yuri 15.05.2009 13:03

да, изначально в свернутом состоянии, но можно посмотреть

AzriMan 15.05.2009 14:39

Цитата:

Сообщение от x-yuri (Сообщение 19039)
да, изначально в свернутом состоянии, но можно посмотреть

да, именно так и должно быть.

p.s. на IE забить не могу, ибо 64% посетителей это IE (FF & Opera -> 18% & 13%)

x-yuri 15.05.2009 14:59

так у тебя ж где-то получилось словить ошибку - осталось выяснить в какой строке она возникает и исправить
я ошибаюсь?


Часовой пояс GMT +3, время: 16:50.