Совместимость Whiteboard 1.2 с Opera 11.61 – разбор ошибок

У меня мало времени чтоб быстро разобраться, так что призываю всех заинтересованных к совместному разбору. …

Поставил-таки себе в тестовый аккаунт Оперу 11.61, сразу поставил в неё доступную на официальном сайте Оперы версию "якобы 1.3". Она запускается, но не делает всего, что делает уже упомянавшаяся мной авторская версия 1.2 – многопользовательская, с несколькими доп. функциями. (она у меня на отдельной Opera 11.52 работает в онлайне, можете полюбоваться). Соответственно удалил "официальную" нерабочую и поставил авторскую. При запуске она ничего не показывает – белый экран. К сожалению я не сохранил выкладки товарища, который ко мне обращался, ища содействия в ремонте приложения. Придётся смотреть самому с начала.

Смотрим в Page > Developer Tools > Error Console. Вот что выдаёт:

[02/21/2012 07:58:53 AM] JavaScript - widget://wuid-65263c9b-697c-0ccd-0aaa-7a257f74697c9e40/index.html
Event thread: _index
Uncaught exception: DOMException: NO_MODIFICATION_ALLOWED_ERR
Error thrown at line 66, column 8 in <anonymous function: parseFromString>(html) in widget://wuid-65263c9b-697c-0ccd-0aaa-7a257f74697c9e40/scripts/libraries/template.js:
doc.documentElement.outerHTML = html;
called from line 871, column 8 in open(path) in widget://wuid-65263c9b-697c-0ccd-0aaa-7a257f74697c9e40/scripts/libraries/template.js:
_template = markuper.HTMLHelper.parseFromString( _html );
called from line 824, column 12 in init(path) in widget://wuid-65263c9b-697c-0ccd-0aaa-7a257f74697c9e40/scripts/libraries/template.js:
var success = open( path );
called from line 1675, column 4 in <anonymous function: markuper.Template>(path, _data, options) in widget://wuid-65263c9b-697c-0ccd-0aaa-7a257f74697c9e40/scripts/libraries/template.js:
init( path );
called from line 78, column 2 in writeResponse(response, data) in widget://wuid-65263c9b-697c-0ccd-0aaa-7a257f74697c9e40/scripts/global.js:
var template = new Markuper("templates/index.html", data);
called from line 10, column 1 in index(event) in widget://wuid-65263c9b-697c-0ccd-0aaa-7a257f74697c9e40/scripts/index.js:
writeResponse(event.connection.response, data);

Пока что мои предварительные выводы:

– по всей видимости что-то изменилось в Юзефе (недавно докончил перевод статьи об этом механизме, см. тут), что-то такое, что не учтено автором программы.

– index.html – это "точка входа" в приложение, в которой запускаются инициализационные скрипты. Больше там ничего быть не должно и (посмотрел) действительно нет. Значит один из скриптов прямо на этапе инициализации делает что-то некорректное.

– я бы очень хотел бы привлечь автора программы к обсуждению. Надеюсь он по-прежнему доступен в Сети на тему, касающуюся его замечательного приложения. Тут три варианта: 1) он починит свою программу сам 2) он поможет нам с вами 3) он разрешит нам делать с приложением что угодно самостоятельно. Я обязательно напишу ему сообщение в ближайшее время.

– мне всегда трудно разбираться в чужих программах, хотя я с удовольствием готов поискать ошибку, как только отыщу свободное время.

ВОТ ТУТ: a link to this page was automatically translated into English. – ссылка на автоматический перевод этой страницы на английский язык.

Дополняю: новая запись о новой версии приложения Whiteboard и ссылка на файл для установки.

3 Replies to “Совместимость Whiteboard 1.2 с Opera 11.61 – разбор ошибок”

  1. 1. Различия есть в 2х файлах: scripts/main.js:в 1.3: opera.io.webserver.addEventListener(‘update’, update, false);в 1.2: opera.io.webserver.addEventListener(‘updateimage’, update, false);и scripts/libraries/template.js, строка 66:в 1.3: doc.documentElement.innerHTML = html;в 1.2: doc.documentElement.outerHTML = html;2. Проблема возникает при замене файла template.js.

  2. СПАСИБО, товарищ AVL93!!! Удалось починить!Отладчик Dragonfly показывал на строчку template.js/#66 но я не мог понять что не работает.А вот когда я заменил на innerHTML и закоментировал 65 строчку – приложение заработало! В ближайшее время выложу готовый “.ua”!P.S. Надеюсь автор не будет против, если я добавлю несколько цветов маркеров.

  3. Насчёт “версии” номер 1.3 – это на самом деле старая версия – 1.1 или более ранняя, просто Опера почему-то не хочет принимать авторскую версию 1.2.

Leave a Reply

Your email address will not be published. Required fields are marked *