Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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 如何使用Kango框架在Firefox中收听完整的事件文档?_Javascript_Cross Browser_Firefox Addon - Fatal编程技术网

Javascript 如何使用Kango框架在Firefox中收听完整的事件文档?

Javascript 如何使用Kango框架在Firefox中收听完整的事件文档?,javascript,cross-browser,firefox-addon,Javascript,Cross Browser,Firefox Addon,当页面使用完成加载时,我尝试执行一个操作。它在Google Chrome中工作,但在Mozilla Firefox中不工作: 扩展名\u info.json: { "content_scripts": ["content_script.js"], "description": "Extension description", "creator": "Kango", "background_scripts": [ "main.js" ], "homepage_url": "http

当页面使用完成加载时,我尝试执行一个操作。它在Google Chrome中工作,但在Mozilla Firefox中不工作:

扩展名\u info.json:

{
"content_scripts": ["content_script.js"], 
"description": "Extension description", 
"creator": "Kango", 
"background_scripts": [
    "main.js"
], 
"homepage_url": "http://kangoextensions.com/", 
"version": "0.9.0", 
"browser_button": {
    "caption": "Kango", 
    "icon": "icons/button.png", 
    "tooltipText": "Kango"
}, 
"name": "MyExtension"
}
function MyExtension() {
var self = this;

kango.ui.browserButton.addEventListener(kango.ui.browserButton.event.COMMAND, function() {
    self._onCommandClick();
});

kango.browser.addEventListener(kango.browser.event.DOCUMENT_COMPLETE, function(event) {
    alert('On document complete!');
    kango.console.log(event);
});
}

MyExtension.prototype = {
    _onCommandClick: function() {
        kango.browser.tabs.create({url: 'http://www.stackoverflow.com'});
    }
};

var extension = new MyExtension();
content\u script.js

// ==UserScript==
// @name MyExtension
// @include http://*
// @include https://*
// ==/UserScript==
main.js:

{
"content_scripts": ["content_script.js"], 
"description": "Extension description", 
"creator": "Kango", 
"background_scripts": [
    "main.js"
], 
"homepage_url": "http://kangoextensions.com/", 
"version": "0.9.0", 
"browser_button": {
    "caption": "Kango", 
    "icon": "icons/button.png", 
    "tooltipText": "Kango"
}, 
"name": "MyExtension"
}
function MyExtension() {
var self = this;

kango.ui.browserButton.addEventListener(kango.ui.browserButton.event.COMMAND, function() {
    self._onCommandClick();
});

kango.browser.addEventListener(kango.browser.event.DOCUMENT_COMPLETE, function(event) {
    alert('On document complete!');
    kango.console.log(event);
});
}

MyExtension.prototype = {
    _onCommandClick: function() {
        kango.browser.tabs.create({url: 'http://www.stackoverflow.com'});
    }
};

var extension = new MyExtension();
有人能解释为什么它在Mozilla Firefox中不起作用,而在Google Chrome中起作用吗

我尝试过其他事件,如“TAB_CHANGED”和“BEFORE_NAVIGATE”,但它们在Mozilla Firefox中也不起作用

谢谢!:)


[]的

我有一个类似的问题,但是事件被触发了

我的背景计数包括

main.js

var handleTabCreated = function (event){
   kango.console.log("Tab created directed to " + event.url);
   count++;
   requestTab = event.target;
  /*
   * Remove event listener
   */
   kango.browser.removeEventListener(kango.browser.event.DOCUMENT_COMPLETE  , handleTabCreated);
   result = requestTab.dispatchMessage('ParseData' , count);
   kango.console.log(result);   // Returns False and no message is sent to Tab
}    

kango.addMessageListener('Content2Background', function(event) {
   sourceTab = event.target;
   img = (event.data);
   kango.console.log('Received message from content ' + img);
   kango.browser.addEventListener(kango.browser.event.DOCUMENT_COMPLETE  , handleTabCreated)
   kango.browser.tabs.create({url:'www.pngine.com',focused:false});
}
在我的前台脚本中,我只触发分派消息来触发代码

content.js

// ==UserScript==
// @name testitem
// @namespace content
// @include http://*
// @include https://*
// @require jquery-1.9.1.min.js
// ==/UserScript==

var $ = window.$.noConflict(true);
img = 'test';
kango.dispatchMessage('Content2Background', img );
这在Chrome和Firefox中都适用。 firefox中唯一的问题是,我无法向新创建的选项卡分派任何方法,但我可以在Chrome中这样做

这是我的项目代码的其余部分

{
"name": "Test item",
"version": "1.2.0",
"description": "Test item demo",
"creator": "Ahmed",
"homepage_url": "http://pngine.com/",
"background_scripts": ["jquery-1.9.1.min.js","main.js"],
"content_scripts": ["content.js"],
"browser_button": {
    "caption": "Test_item_demo",
    "tooltipText": "Test_item_demo",
    "icon": "icons/button.png"
},
"context_menu_item": {
    "caption": "Blog Verifier"
}
}
我希望它能帮助您,我将尝试检查为什么我无法将MSG发送到已创建的选项卡


祝你好运

我也有类似的问题,但不管事件是如何触发的

我的背景计数包括

main.js

var handleTabCreated = function (event){
   kango.console.log("Tab created directed to " + event.url);
   count++;
   requestTab = event.target;
  /*
   * Remove event listener
   */
   kango.browser.removeEventListener(kango.browser.event.DOCUMENT_COMPLETE  , handleTabCreated);
   result = requestTab.dispatchMessage('ParseData' , count);
   kango.console.log(result);   // Returns False and no message is sent to Tab
}    

kango.addMessageListener('Content2Background', function(event) {
   sourceTab = event.target;
   img = (event.data);
   kango.console.log('Received message from content ' + img);
   kango.browser.addEventListener(kango.browser.event.DOCUMENT_COMPLETE  , handleTabCreated)
   kango.browser.tabs.create({url:'www.pngine.com',focused:false});
}
在我的前台脚本中,我只触发分派消息来触发代码

content.js

// ==UserScript==
// @name testitem
// @namespace content
// @include http://*
// @include https://*
// @require jquery-1.9.1.min.js
// ==/UserScript==

var $ = window.$.noConflict(true);
img = 'test';
kango.dispatchMessage('Content2Background', img );
这在Chrome和Firefox中都适用。 firefox中唯一的问题是,我无法向新创建的选项卡分派任何方法,但我可以在Chrome中这样做

这是我的项目代码的其余部分

{
"name": "Test item",
"version": "1.2.0",
"description": "Test item demo",
"creator": "Ahmed",
"homepage_url": "http://pngine.com/",
"background_scripts": ["jquery-1.9.1.min.js","main.js"],
"content_scripts": ["content.js"],
"browser_button": {
    "caption": "Test_item_demo",
    "tooltipText": "Test_item_demo",
    "icon": "icons/button.png"
},
"context_menu_item": {
    "caption": "Blog Verifier"
}
}
我希望它能帮助您,我将尝试检查为什么我无法将MSG发送到已创建的选项卡

祝你好运