Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2014, 14:19   #1
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Привет.

Создал расширение для браузеров. В хроме работает корректно, в хроме падает с ошибкой "NS_ERROR_XPC_BAD_OP_ON_WN_PROT O: Illegal operation on WrappedNative prototype object". Ничего внятного по ошибке нагуглить не смог, может кто-нибудь сталкивался с этим и вкурсе что это за зверь?

Похоже, действительно баг FireFox. В content_scripts получается сделать таймаут вызова функции только через явное указание "window": window.setTimeout().

В библиотеках (в моём случае angular) никто естественно так таймаут не вызывает, а следовательно такие сервисы, как $q и $timeout не работают. Природу бага я так и не понял (да и не разбирался).

Выход: написать аналоги этих сервисов самому. Ещё, в теории можно изменить js-файл библиотеки. Или написать фикс-патч к firefox'у )
^-.-^ My GitHub

Последний раз редактировалось Stilet; 11.06.2014 в 08:03.
Fenex вне форума Ответить с цитированием
Старый 10.06.2014, 13:14   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Возможно при запуске из расширения скрипт не считает window глобальным объектом...
Хотя в той же ноде в глобале есть таймаут...
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 10.06.2014, 15:04   #3
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

Цитата:
Сообщение от Fenex Посмотреть сообщение
В библиотеках (в моём случае angular) никто естественно так таймаут не вызывает
именно так и вызывают
Тишина – самый громкий звук
nerv вне форума Ответить с цитированием
Старый 10.06.2014, 17:53   #4
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Цитата:
именно так и вызывают
Воу. Тогда я вообще ничего не понимаю.

Цитата:
Сообщение от Naive Посмотреть сообщение
Возможно при запуске из расширения скрипт не считает window глобальным объектом...
Хотя в той же ноде в глобале есть таймаут...
Тогда в Mozilla вообще странные ребята. Воткнуть в window такие вещи как alert, console и прочее, но не воткнуть таймаут. Там что-то другое.
^-.-^ My GitHub

Последний раз редактировалось Stilet; 11.06.2014 в 08:03.
Fenex вне форума Ответить с цитированием
Старый 10.06.2014, 23:43   #5
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от Fenex Посмотреть сообщение
Тогда в Mozilla вообще странные ребята. Воткнуть в window такие вещи как alert, console и прочее, но не воткнуть таймаут. Там что-то другое.
алерт и таймаут всегда в виндоу были, консоль появилась позже... дело не в виндоу, а как ты обращаешься к глобальному объекту...

К примеру я всегда юзаю шаблонизатор Джона Резига, быстрый и функциональный... но... я пишу под стриктом, так что его код не работает, приходится изменять. Возможно, у тебя в библиотеках тоже где-то заюзано говнецо неработающее в современном JS
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 11.06.2014, 08:00   #6
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Цитата:
Возможно, у тебя в библиотеках тоже где-то заюзано говнецо неработающее в современном JS
kango ещё использую. Далеко не тривиальная система, может и вправду там чего...
Попробую сделать то же самое без kango, чисто для ФФ. И посмотреть, появится эта ошибка или нет...
^-.-^ My GitHub

Последний раз редактировалось Fenex; 11.06.2014 в 08:02.
Fenex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Firefox Extension: gBrowser load event, Как узнать страницу, где была кликнута ссылка? Зойберг JavaScript, Ajax 0 02.05.2013 16:53
Ошибка создания PHP extension на Visual C++ Paradiz Visual C++ 0 22.08.2012 16:19
Ошибка в Delphi: unknown picture file extension(.) ДениC Общие вопросы Delphi 35 12.05.2011 14:29
Extension Функции xWinDx Win Api 2 17.04.2010 08:20