В firefox не работает djvu.js версии выше 0.3.5
Closed this issue · 7 comments
В chromium 90 работает DjVu.js v.0.5.3, DjVu.js Viewer v.0.8.2. В firefox 88 (и более ранних) просто пустое окно. Последняя версия которая работает у меня - 0.3.5.
Uncaught
Exception { name: "NS_ERROR_NOT_IMPLEMENTED", message: "", result: 2147500033, filename: "https://ptah-alexs.info/djvu_reader/djvu.js", lineNumber: 13330, columnNumber: 0, data: null, stack: "DjVuScript@https://ptah-alexs.info/djvu_reader/djvu.js:13330:51\nDjVu<@https://ptah-alexs.info/djvu_reader/djvu.js:15534:26\n@https://ptah-alexs.info/djvu_reader/djvu.js:15536:2\n" }
columnNumber: 0
data: null
filename: "https://ptah-alexs.info/djvu_reader/djvu.js"
lineNumber: 13330
message: ""
name: "NS_ERROR_NOT_IMPLEMENTED"
result: 2147500033
stack: "DjVuScript@https://ptah-alexs.info/djvu_reader/djvu.js:13330:51\nDjVu<@https://ptah-alexs.info/djvu_reader/djvu.js:15534:26\n@https://ptah-alexs.info/djvu_reader/djvu.js:15536:2\n"
<prototype>: ExceptionPrototype { toString: toString(), name: Getter, message: Getter, … }
djvu.js:13330
Uncaught Error: There is no DjVu object! You have to include the DjVu.js library first!
<anonymous> https://ptah-alexs.info/djvu_reader/djvu_viewer.js:2
n https://ptah-alexs.info/djvu_reader/djvu_viewer.js:2
<anonymous> https://ptah-alexs.info/djvu_reader/djvu_viewer.js:2
<anonymous> https://ptah-alexs.info/djvu_reader/djvu_viewer.js:2
djvu_viewer.js:2:206562
Uncaught TypeError: DjVu is undefined
onload https://ptah-alexs.info/djvu_reader/:21
djvu_reader:21:13
Речь идет о расширении для браузера или вы пытаетесь добавить приложение на стороннюю веб-страницу?
Посмотрите работает ли у вас сайт https://djvu.js.org/
Приложение на стронней странице https://ptah-alexs.info/djvu_reader/ на https://djvu.js.org/ также пустой iframe, в консоли браузера те же ошибки.
Я установил Firefox 87 и у меня все работает. Скорее всего все версии до 66 будут работать без проблем.
Вторая и третья ошибки означают, что скрипт djvu.js
(библиотека) почему-то не был загружен. А загружен он не был из-за первой ошибки, которая очень странная. Ошибки с префиксом NS_
я видел, когда браузер почему-то не мог выполнить операцию, памяти не хватало или еще что-то было не так. Это не ошибка кода скрипта.
Что у вас за браузер такой? Можно ли обновиться до 92 версии? Нет ли каких-то особых настроек?
Попробовал версию 92 с сайта mozilla, всё тоже. Забыл уточнить у меня debian linux. Возможно проблема в html откуда я вызываю? https://pastebin.com/hMSDZHUK
Пробовал запускать в безопасном режиме т.е. без дополнений, всё равно пустой iframe.
В HTML надо вместо header
использовать head
. Но это не должно так влиять.
Если сайт https://djvu.js.org/ не работает, то проблема не в разметке. И у меня ваш сайт работал.
Дело значит в настройка операционной системы. Другие сайты работают нормально? Вообще помочь с такой проблемой я вряд ли смогу - она слишком специфична. Даже если я поставлю Debian, боюсь, что у меня все будет работать.
Первая ошибка ссылается на строку 15534:
return Object.assign(DjVuScript(), {DjVuScript});
Можете попробовать ее заменить на
var returnValue = DjVuScript();
returnValue.DjVuScript = DjVuScript;;
return returnValue;
Не факт, что поможет, но не сложно попробовать. Скорее всего будет та же ошибка.
Тут дело в том, что браузер будто бы некорректно JavaScript исполняет.
В общем какой-то непонятный трудноуловимый баг. На FF для андроида всё работает как ни странно.