Javascript 如何使用Kango框架在Firefox中收听完整的事件文档?
当页面使用完成加载时,我尝试执行一个操作。它在Google Chrome中工作,但在Mozilla Firefox中不工作: 扩展名\u info.json: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
{
"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发送到已创建的选项卡
祝你好运