Chrome 扩展未在单击时运行代码

问题描述 投票:0回答:1

我正在尝试制作一个书签到 Chrome 扩展转换器,以制作 MV3 扩展。单击时我无法获得扩展来运行代码。它只是提供扩展程序的默认弹出窗口。

这是我的代码的相关部分:

json = """
{
  "name": "%s",
  "description": "%s",
  "version": "1.0",
  "manifest_version": 3,
  "minimum_chrome_version": "120",
  "background": {
    "serviceworker": "main.js"
  },
  "permissions": [
    "userScripts", 
    "activeTab"
  ],
  "host_permissions": [
    "*://*/*"
  ]
}
""" % ( name, description)
mainjs = """
chrome.action.onClicked.addListener((tab) => {
target: {tabId: tab.id},
async chrome.userScripts.register({
    id: 'bookmarklet',
    matches: ['*://*/*'],
    js: [{ file: 'user-script.js' }]
  });
});
"""
with open('manifest.json', 'w') as manifest:
    manifest.write(json)
with open('main.js', 'w') as main:
    main.write(mainjs)
with open('user-script.js', 'w') as us:
    us.write(code)

我尝试过更改 mainjs 的各个部分,但没有任何效果。

python google-chrome google-chrome-extension bookmarklet
1个回答
0
投票

您的代码中有几个问题。

  1. JSON 格式:Python 字符串中的 JSON 格式似乎不正确。 JSON 中的键和值应该使用双引号,单引号会导致语法错误。

  2. 创建文件:您似乎正在尝试使用 Python 创建或写入清单文件和 JavaScript 文件。 “main.js”内容中也存在语法问题。

© www.soinside.com 2019 - 2024. All rights reserved.