gpt4 book ai didi

javascript - 如何让提供的 Google PageAction 示例扩展在 Google Chrome 上运行?

转载 作者:行者123 更新时间:2023-11-29 18:29:29 28 4
gpt4 key购买 nike

这可能是我在做一些愚蠢的事情,但我不知道是什么。我正在尝试让示例 Google Chrome 页面扩展演示正常工作。可以在此处找到演示的源代码: http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/pageAction/

这是一个包含 2 个代码文件的简单程序 - list 文件和一个 background.js 文件。这是 background.js:

// Called when the url of a tab changes.
function checkForValidUrl(tabId, changeInfo, tab) {
// If the letter 'g' is found in the tab's URL...
if (tab.url.indexOf('g') > -1) {
// ... show the page action.
chrome.pageAction.show(tabId);
}
};

// Listen for any changes to the URL of any tab.
chrome.tabs.onUpdated.addListener(checkForValidUrl);

这是 manifest.json 文件:

{
"name": "Page action by URL",
"version": "1.0",
"description": "Shows a page action for urls which have the letter 'g' in them.",
"background": { "scripts": ["background.js"] },
"page_action" :
{
"default_icon" : "icon-19.png",
"default_title" : "There's a 'G' in this URL!"
},
"permissions" : [
"tabs"
],
"icons" : {
"48" : "icon-48.png",
"128" : "icon-128.png"
},
"manifest_version": 2
}

正如所写,这段代码对我不起作用。 Chrome 可以很好地加载扩展程序,但是当我导航到 URL 中带有 g 的页面时,没有显示任何图标。

我找到了这个答案: How do I make page_action appear for specific pages?

所以我尝试了以下-

  • 创建了一个 background.html 文件:

    <html><head><script> ... cut and pasted contents of background.js above </script></head></html>
  • 将 manifest.json 更改为 manifest_version: 1 而不是 manifest_version: 2

  • 将 manifest.json 中的背景属性更改为 background_page: "background.html"

这非常有效。

但我绝对无法让这个东西在 background.js 文件和 manifest_version = 2 的情况下运行。

所以我想知道如何使用 manifest_version = 2 和 background.js 文件。此外,这是否重要 - 即是否每个人都只使用 manifest_version = 1 而不必担心这类事情?

最佳答案

您使用的是哪个版本的 Chrome?我 19 岁,工作正常。那些新的背景选项出现在 18,因此该示例确实应该使用 minimum_chrome_version 键来避免这个问题。如果非主干文档没有指向在这些文档适用的 Chrome 版本中不起作用的示例,那也很好。

http://code.google.com/chrome/extensions/trunk/manifestVersion.html
这个页面说....

Setting manifest_version 2 in Chrome 17 or lower is not recommended. If your extension needs to work in older versions of Chrome, stick with version 1 for the moment. We'll give you ample warning before version 1 stops working.

是不是有点烂?如果他们的 Chrome 版本是预 list 版本 2,为什么我们不能有 background 和 background_page 可以依赖?...我试过了,它提示 background_page 不能与 list 版本 2 一起使用并且没有安装它。因此,您可能想暂时停止使用 list 版本 2。
尽管阅读版本 2 的这些文档并开始使用它要强制执行的一些实践(例如没有内联脚本)做好准备可能是个好主意。

关于javascript - 如何让提供的 Google PageAction 示例扩展在 Google Chrome 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9758547/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com