![](/img/trans.png)
[英]Hide pageAction with declarativeContent in Google Chrome extension API
[英]How to get the google PageAction sample extension working on Google Chrome as supplied?
這可能是我在做些愚蠢的事情,但我不知道該怎么辦。 我正在嘗試使示例Google Chrome頁面擴展演示正常工作。 該演示的來源可以在以下位置找到: http : //src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/pageAction/
這是一個包含2個代碼文件的簡單程序-清單和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中帶有ag的頁面時,沒有任何圖標顯示。
我找到了這個答案: 如何使page_action出現在特定頁面上?
所以我嘗試了以下-
創建了一個background.html文件:
<html><head><script> ... cut and pasted contents of background.js above </script></head></html>
將manifest.json更改為manifest_version:1而不是manifest_version:2
這工作得很好。
但是我絕對無法使用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
此頁面上說...。
不建議在Chrome 17或更低版本中設置manifest_version 2。 如果您的擴展程序需要在舊版的Chrome中運行,請暫時使用版本1。 在版本1停止工作之前,我們會給您足夠的警告。
有點爛壽嗎? 如果Chrome和Chrome版本為清單清單之前的版本2,為什么我們不能再使用background和background_page?...我嘗試這樣做,但它抱怨background_page不適用於清單清單2,也沒有安裝它。 因此,您可能要推遲使用清單版本2一段時間。
雖然閱讀第2版的文檔並開始使用其將要實施的一些實踐(例如沒有內聯腳本)可能是一個好主意。
可能導致此問題的另一件事:
我遇到了這個問題,因為我忘記了按照示例在清單中包含declarativeContent權限。
希望這可以幫助某人...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.