Javascript 我的Firefox扩展加载缓慢-适用于所有ChromeWindow
我有一个自己创建的Firefox插件,它们慢慢打开,但问题是一般性的 检查加载速度有多慢:Javascript 我的Firefox扩展加载缓慢-适用于所有ChromeWindow,javascript,firefox,firefox-addon,firefox-addon-sdk,Javascript,Firefox,Firefox Addon,Firefox Addon Sdk,我有一个自己创建的Firefox插件,它们慢慢打开,但问题是一般性的 检查加载速度有多慢: 对于每个浏览器窗口的循环数组: var { viewFor } = require("sdk/view/core"); var windows = require("sdk/windows"); var browserWindows = windows.browserWindows; for (let browserWindow of browserWindows) { let chromeW
对于每个浏览器窗口的循环
数组:
var { viewFor } = require("sdk/view/core");
var windows = require("sdk/windows");
var browserWindows = windows.browserWindows;
for (let browserWindow of browserWindows) {
let chromeWindow = viewFor(browserWindow);
module.enable(chromeWindow);
}
然后对于新打开的窗口:
browserWindows.on('open', function(browserWindow) {
var chromeWindow = viewFor(browserWindow);
module.enable(chromeWindow);
});
并为同一阵列上的每个浏览器窗口禁用
循环:
var browserWindows = windows.browserWindows;
for (let browserWindow of browserWindows) {
let chromeWindow = viewFor(browserWindow);
module.disable(chromeWindow);
}
在我看来,在这些函数中,windows加载程序是一个问题。
因为他加了这样一个东西,在转弯时不应该粘糊糊的,例如:
var style = require("sdk/stylesheet/utils");
var self = require("sdk/self");
function enable (window) {
style.loadSheet(window, self.data.url("toolbars/tabs.css"), "author");
style.loadSheet(window, self.data.url("toolbars/navigator.css"), "author");
style.loadSheet(window, self.data.url("toolbars/other-toolbars.css"), "author");
}
function disable (window) {
style.removeSheet(window, self.data.url("toolbars/tabs.css"), "author");
style.removeSheet(window, self.data.url("toolbars/navigator.css"), "author");
style.removeSheet(window, self.data.url("toolbars/other-toolbars.css"), "author");
}
如何更有效地执行此操作,而不是让收费变得混乱?可能会插入脚本,而不是手动上传窗口。加载时的脚本通过消息传递与主index.js对话。我知道我在将数组缓冲区从bootstrap.js复制到windows时遇到问题。这是因为它们的脚本范围不同。所以我现在通过postMessage进行传输。它工作得非常好。可能会插入一个脚本,而不是手动上传窗口。加载时的脚本通过消息传递与主index.js对话。我知道我在将数组缓冲区从bootstrap.js复制到windows时遇到问题。这是因为它们的脚本范围不同。所以我现在通过postMessage进行传输。它工作得很好。