问题描述
我正在编写一个firefox插件,当按下工具栏上的插件图标时,它将记录当前URL。
按下按钮时,后台脚本将调用本机应用程序。该本地应用程序应将当前URL写入txt文件。此时,我可以在按下插件按钮时编写文本文件。我能够将在background.js中创建的变量的内容写入文本文件。但是我无法将当前URL传递给后台脚本。
该插件基于Mozilla的示例插件: https://github.com/mdn/webextensions-examples/tree/master/native-messaging
使用var url = window.location.href;
时,我会获得已加载脚本的URL /位置。
问题:如何将当前URL传递给background.js,以便将URL写入文本文件?
以下是脚本: 代码background.js:
var url = window.location.href;
/*
On startup,connect to the "ping_pong" app.
*/
var port = browser.runtime.connectNative("ping_pong");
/*
Listen for messages from the app.
*/
port.onMessage.addListener((response) => {
console.log("Received: " + response);
});
/*
On a click on the browser action,send the app a message.
*/
browser.browserAction.onClicked.addListener(() => {
console.log("Console logger");
port.postMessage(url);
});
Code Manifest.json
{
"description": "ping_pong","manifest_version": 2,"name": "Native messaging start Python","version": "1.0","icons": {
"48": "icons/message.svg"
},"browser_specific_settings": {
"gecko": {
"id": "ping_pong@example.org","strict_min_version": "50.0"
}
},"background": {
"scripts": ["background.js"]
},"browser_action": {
"default_icon": "icons/message.svg"
},"permissions": ["nativeMessaging"]
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)