Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firefox插件sdk:按下按钮时启动pageMod?_Javascript_Firefox_Firefox Addon_Toolbar_Firefox Addon Sdk - Fatal编程技术网

Javascript Firefox插件sdk:按下按钮时启动pageMod?

Javascript Firefox插件sdk:按下按钮时启动pageMod?,javascript,firefox,firefox-addon,toolbar,firefox-addon-sdk,Javascript,Firefox,Firefox Addon,Toolbar,Firefox Addon Sdk,我正在使用Erik Vold制作一个Firefox插件,我想知道当用户按下工具栏上的按钮时如何启动和停止pageMod。这可能吗? 我尝试使用这种方法注入Javascript,但效果不太好。而且我不能注入CSS 以下是我当前的代码,如果这有助于理解问题: var tbb = require('toolbarbutton').ToolbarButton({ id: 'button', label: 'us-button', image: self.data.url('img/on.pn

我正在使用Erik Vold制作一个Firefox插件,我想知道当用户按下工具栏上的按钮时如何启动和停止pageMod。这可能吗? 我尝试使用这种方法注入Javascript,但效果不太好。而且我不能注入CSS

以下是我当前的代码,如果这有助于理解问题:

var tbb = require('toolbarbutton').ToolbarButton({
  id: 'button',
  label: 'us-button',
  image: self.data.url('img/on.png'),
  onCommand: function () {

    tabs.activeTab.attach ({

        contentScriptFile: [
            self.data.url('jquery/jquery.min.js'),
            self.data.url('jquery/jquery-ui.js'),
            self.data.url('recuperation.js'),
            self.data.url('dialog.js')
      ]
   });
  }
});
你这是什么意思

效果不太好

它到底起作用了吗?只要调用了
onCommand()
,我就看不出代码有任何问题

至于CSS 你可能是那个提交了contentStyleFile bug的人(请告诉我),但是作为参考,它已经提交了,他们似乎正在修复

同时,我正在使用javascript/jQuery

Main.js annotate.js
$('head')。追加(“”);

这也可以在普通javascript中完成,但我在其他地方也使用jQuery。

不,没有错误。使用
tabs.activeTab.attach
,我们不能使用
contentStyleFile
,而使用pageMod我们可以,因此我正在寻找一种方法,当我按下工具栏中的按钮时调用pageMod。对于特定的选项卡,无法调用
pageMod
。它的
include
属性是必需的,它在页面加载时充当过滤器,而不是在页面加载后。请参阅下面我的答案以注入CSS。
var worker = tabs.activeTab.attach({
    contentScriptFile: [data.url('jquery.js'),
                        data.url('annotate.js')]
    contentScriptOptions: data.url('annotate.css')
});
$('head').append("<link href='"+self.options+"' type='text/css' rel='stylesheet' />");