chrome.runtime.connectNative未定义

时间:2018-02-24 14:02:20

标签: google-chrome-extension chrome-native-messaging

我正在构建一个应该连接到控制台应用程序的chrome扩展。

这是我的清单文件:

{
  "name": "my extension",
  "version": "0.0.1",
  "manifest_version": 2,
  "description": "my extension",
  "icons": {
    "16": "icons/icon16.png",
    "48": "icons/icon48.png",
    "128": "icons/icon128.png"
  },
  "default_locale": "en",
  "permissions": [
    "nativeMessaging"
  ],
  "content_scripts": [
    {
      "matches": [
        "<all_urls>"
      ],
      "js": [
        "src/inject/inject.js"
      ]
    }
  ]
}

我在inject.js中有这一行:

chrome.runtime.connectNative("org.my_company.my_application");

因为未定义connectNative而抛出类型错误,当我拥有本机消息传递权限时,怎么可能未定义?我该怎么做才能解决问题?

顺便说一句,我已经看到了这个问题:Google Chrome Native Messaging Example returns: Uncaught TypeError: chrome.runtime.connectNative is not a function但问题是Chrome应用程序,我正在构建扩展程序。

我的Chrome版本在Windows 7 x64上是64。

1 个答案:

答案 0 :(得分:2)

事实证明,内容脚本中不允许使用本机消息传递,应该在后台页面中完成。