微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Firefox插件:如何将当前网址发送到backgroundscript

如何解决Firefox插件:如何将当前网址发送到backgroundscript

我正在编写一个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 举报,一经查实,本站将立刻删除。