Помощь Возникает ошибка в ИЕ 8 и Файрфоксе

Тема в разделе "DLE", создана пользователем Edwardius, 7 июл 2009.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. Edwardius

    Edwardius Создатель

    Регистр.:
    18 окт 2008
    Сообщения:
    47
    Симпатии:
    2
    DLE 8.0 от Мид-Тима. Ошибка возникает в полной версии статьи, Интернет Эксплорер выводит окно с ошибкой:
    Сообщение: 'document.getElementById(...)' - есть null или не является объектом
    Файрфокс тоже ошибку регистрирует, вот так:
    Предупреждение: Пустая строка не может быть аргументом метода getElementById().
    Ошибка возникает при переходе к полной версии статьи, только если используется Аякс. Если он отключен - проблем нет. Я грешил на скрипты, что у меня на странице: дата, онлайн, подсказка. Все выбрасывал - ошибка все равно есть. И только при переходе на страничку обычным способом, без аякса, с перезагрузкой сайта, все нормально. Можно конечно Аякс отключить, но с ним же сайт быстрее и легче работает. Несколько ночей сижу, все перетряс - не придумал ничего:-(
    В чем может быть причина, подскажите?
    Ссылка на больную страницу здесь:
     
  2. jcrush

    jcrush

    Регистр.:
    10 ноя 2006
    Сообщения:
    692
    Симпатии:
    55
    Все дело в шаблоне, кривой он у тебя. Ищи строчку в tlp -
    document.getElementById
    и исправляй где там косяк с ней.
     
  3. yavasilek

    yavasilek vasilek_gorbunok

    Регистр.:
    5 окт 2008
    Сообщения:
    1.175
    Симпатии:
    423
    у меня в лисе вообще не грузит до конца твой сайт.
    в хроме от гула все грузит ок - тока долго.
    скрин(лиса) прилагаю
     

    Вложения:

  4. boxman

    boxman Постоялец

    Регистр.:
    23 июн 2009
    Сообщения:
    51
    Симпатии:
    12
    Вся проблема не в шаблоне, а в ява-скрипте который шаблон подгружает. Скрипт - animatedcollapse.js (смотри в нем 9ю строку - там определена функция на которую ругается браузер). По всей видимости скрипт предназначен для генерации нескольких эффектов, а ты используешь только один. Остальные функции - с пустыми переменными, вот из за этого браузеры и ругаются. Удали неиспользуемые функции из скрипта и ошибки пропадут.
     
    Edwardius нравится это.
  5. Edwardius

    Edwardius Создатель

    Регистр.:
    18 окт 2008
    Сообщения:
    47
    Симпатии:
    2
    Огромное спасибо тебе, уважаемый boxman! Я уже собирался скрипт сносить. Дело, действительно было именно в этом скрипте animatedcollapse.js С его помощью я пытался подключить движущуюся логинпанель (ездила вверх-вниз). Она и работала, во всех броузерах, кроме ИЕ. А потом эта ошибка появилась. Она еще на нескольких страницах была, где Аякс использовался.
    К сожалению, удалить неиспользуемые функции в файле я не смог - видно, не с того конца удалял, или некорректно, потому как ошибки были все время. Пришлось выкинуть скрипт вообще и ошибки исчезли. Скажи, а как ты определил, что параметр неверно определяется именно там? Валидаторы показывали какую-то ерунду...
     
  6. boxman

    boxman Постоялец

    Регистр.:
    23 июн 2009
    Сообщения:
    51
    Симпатии:
    12
    Модераторы, не сочтите за флуд, но думаю, многим пригодится.

    Edwardius
    Многие при создании шаблонов (для украшательства) бездумно берут сторонние ява-скрипты с других сайтов не учитывая, что один скрипт может нести в себе несколько функций.
    В твоем случае я поступил так:
    1. Определенно ошибка - document.getElementById - не относится к HTML - это ява.
    2. Соответственно я открыл в браузере просмотр твоей страницы в HTML и стал смотреть какие ява-скрипты там прописаны (следовательно подгружаются).
    3. Сразу отбрасываем ява-скрипты движка (там все нормально, во всяком случае если их не ковыряли)
    4. В результате анализа скриптов прописанных в коде твоей страницы остановился на animatedcollapse.js (явно строрнний скрипт).
    5. Посмотрел полный путь к этому скрипту и открыл его в браузере просто введя к нему полный путь в адресной строке (так кстати и шаблоны вручную РИП-аются ;)).
    6. Нашел в 9-ой строке нашу функцию и понял что она не используется (вернее используется, но с пустыми переменными - что и дает нам ошибку).

    Алгоритм понятен? Больше здесь ничего не пишу. Если у кого вопросы - в личку!
     
    Edwardius нравится это.
  7. Edwardius

    Edwardius Создатель

    Регистр.:
    18 окт 2008
    Сообщения:
    47
    Симпатии:
    2
    Глобальная ошибка в ДЛЕ

    Несколько подобных ошибок, действительно удалось устранить. Но, все равно есть другие такие же. КАЖДЫЙ ДЛешник может увидеть их в консоли ошибок "Лисы". ДАЖе на сайтах 4DLE и даже!!!!!! dle-news.ru!!!!
    видна ошибка:

    Предупреждение: Пустая строка не может быть аргументом метода getElementById().

    Там их вообще несколько на страницу. Каждый может убедиться в этом, в том числе и на своем сайте. Посмотрите в отладчик! Просто, ИЕ 8 на моем шаблоне в полной версии статьи вообще начал орать и окна выкидывать с этой ошибкой.
     
Статус темы:
Закрыта.