Firefox выгружает модули, загруженные с помощью Components.utils.import ()? - PullRequest
1 голос
/ 14 июня 2011

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

extension.js

var My = {};

overlay.js

Components.utils.import ( "ресурс: //myextension/extension.js");

My.extension = (function() {
  var someFunc = function() {
    // more code
    My.module.otherFunc();
  };

  // more code
})();

В какой-то момент мы начинаем получать странную ошибку: 'My' не определено в overlay.js: 6

Я предполагаю, что Firefox молча выгружает модуль extension.js, в противном случае я не смог найти подсказки, почему это может произойти. Вы?

Версия Firefox: 3.x

Спасибо!

1 Ответ

0 голосов
/ 16 июня 2011

Хотя вы можете передавать функции модулям как временные обратные вызовы, вы должны принять меры, чтобы гарантировать, что они не будут использованы после закрытия окна, поскольку тогда все его глобальные переменные, включая My, будут удалены.Если модуль впоследствии попытается вызвать функцию, вы получите ошибку, как описано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...