Homo virtualis группа [γ]
Проблема:

Если в настройках выбран «динамически подгружаемый тег more», то в опере будет ошибка JS, и теги не будут подгружаться.

причина:

движок дайрей высылает неверно сформированный JS, который вызывает ошибку и прерывает скрипт.

к примеру:

зайдём на diary-spirit

первый пост (на данный момент) про гороскопы, с наличествующим тегом more.

Попытаемся его открыть, сервер отдаёт нам файл следующего содержания:

<!--SELECT *

FROM group_authority

WHERE module_id="8"

AND submodule_id="44"

AND group_id="2"-->
var obj=document.getElementById('more15745343m1');

obj.innerHTML='Он открывает список ссылок на страницы: <br />

(жирным выделена проблемная часть)

Опера, согласно стандартам (уж не знаю, де-юре или де-факто, но такой стандарт есть), удаляет ведущий <!--, и пытается интерпретировать получившийся код как js

в результате получаем

Javasсriрt - http://diary.ru/~diary-spirit/

Inline sсriрt compilation

Syntax error while loading: line 2 of linked sсriрt at http://diary.ru/~diary-spirit/?post=15745343m1 :

FROM group_authority

-------------------------^

что и требовалось доказать…



Решение:

1 вариант — убрать комментарий.

2 — заменить HTML комментарии на JS (/**/) комментарии.

3 — использовать следующий userJS:

opera.addEventListener('Beforesсriрt',

function (e ) {

try {

if ( e && e.element && e.element.getAttribute('src').indexOf('?post=')==0 && e.element.text.indexOf('<!--')==0) {

e.element.text = e.element.text.replace(//,'*/')

}

}

catch(e) {}

}

,false);

(также этот фикс доступен в моём diary.fix.js фиксе для дневников.

(как устанавливать userJS — смотрите в комментарии к записи



надеюсь что кому-то поможет…

Комментарии
19.08.2006 в 01:32

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



З.Ы. никогда не используйте SELECT * FROM <>, не допускайте этого, лучше укажите имена столбцов )))
19.08.2006 в 06:54

Homo virtualis группа [γ]
2Shiru:

ахха…

А потом мы удивляемся, что-же дневники тормозят…



PS: куски SQL запроса выдаются на каждой странице, уж не знаю зачем.
20.08.2006 в 13:40

Люблю своего малыша!!!
А админам уже сообщили?
20.08.2006 в 15:42

Homo virtualis группа [γ]
2DesignMania:

не только сообщили, они уже успели всё исправить ;)

поэтому этот userJS уже и не нужен ;)

(но мешать он не будет, в скрипте у меня аккуратно написано, когда можно применять его а когда не нужно.)

Расширенная форма

Редактировать

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail