2016-11-21 7 views
0

Я разработал надстройку, daneshLink, которая была проверена Firefox. Пользователи установили это дополнение и использовали его. Это дополнение работает, но когда Firefox обновляется до версии 50.0, это дополнение не работает.Почему мой Firefox-аддон не работает после обновления Firefox до версии 50

(Примечание: надстройка не была удалена или отключена после обновления Firefox. Она просто не работает вообще).

var x = content.document.getElementsByTagName('html')[0].innerHTML; 
var test = x.match(/>article Id:[0-9a-zA-z]/img); 
var url = "> <a href=\"http://mysite.ir/index.jsp?articleID="; 
for (var i = 0; i < test.length; i++) { 
    x = x.replace(test[i], url +">Download :" + test[i] + "</a>"); 
} 
content.document.getElementsByTagName('html')[0].innerHTML = x; 
+0

Пожалуйста [править] Ваш вопрос будет по теме: Вопросы, ищущих отладки помощи ("** почему этот код не работает? ** ") должен включать: ► желаемое поведение, ► конкретную проблему или ошибку * и * самый короткий код, необходимый для его воспроизведения ** в самом вопросе **. Вопросы без четкого описания проблемы не полезны другим читателям. См.: [** Как создать минимальный, полный и проверенный пример **] (http://stackoverflow.com/help/mcve), [Какие темы можно задать здесь?] (Http: // stackoverflow. com/help/on-topic) и [Как задать хороший вопрос?] (http://stackoverflow.com/help/how-to-ask). – Makyen

+0

Без кода мы не можем догадываться, почему это дополнение не работает. Просто указать указатель на ваше дополнение недостаточно. предоставление кода. Это должно быть * в самом вопросе *. – Makyen

+0

В другой раз, когда вы пишете надстройку, рекомендуется протестировать версии Firefox, которые находятся в стадии разработки. Это включает [Firefox Beta] (https://www.mozilla.org/en-US/firefox/channel/desktop/), [Firefox Developer Edition] (https://www.mozilla.org/en-US/firefox/разработчик /) и [Firefox Nightly] (https://nightly.mozilla.org/). Ваше дополнение было выпущено 2016-10-23. Ночь была либо вер. 51 или 52 в то время. Выполнение такого тестирования уменьшит количество раз, когда необходимо обновить надстройку, и/или время, когда надстройка перестанет работать для ваших пользователей. – Makyen

ответ

1

Код, который вы предоставили недостаточно, чтобы знать, что проблема есть, но я могу догадаться. Скорее всего, вы столкнулись с проблемой перехода на многопроцессорный Firefox. Тот факт, что это надстройка Overlay и ваше использование content.document, позволяет вам не отделять доступ к DOM веб-страниц (используя рабочих) от вашего основного сценария.

Возможно, вам, вероятно, лучше всего переписать это как WebExtension, если это возможно. В качестве альтернативы вы можете написать его как расширение на основе Add-on SDK. Если вам действительно нужно, чтобы это было надстройкой Overlay, можно обеспечить разделение между функциями вашего основного сценария и доступом к DOM. Однако это не так удобно, как для других типов надстроек.

Вы может быть в состоянии иметь текущий код совместимы для немного дольше, указав:

<em:multiprocessCompatible>false/em:multiprocessCompatible> 

в вашем install.rdf. Это должно препятствовать тому, чтобы Firefox включал многопроцессорный режим при установке вашего расширения или, по крайней мере, использовал compatibility shims, который может быть достаточным для работы надстройки.

Я хотел бы предложить вам прочитать:

 Смежные вопросы

  • Нет связанных вопросов^_^