如何为特定页面显示page_action?

时间:2012-01-21 07:18:19

标签: javascript google-chrome-extension

我不熟悉Javascript,并且在选项卡中打开特定URL时,我一直在努力了解如何显示page_action图标。

我尝试使用Google提供的一些示例来查找网址中的特定字母(其示例使用“g”)。我甚至试图简单地使用他们的扩展程序解压缩,当我访问谷歌时它对我不起作用。

// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// 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);

我错过了一些非常明显的东西吗?

1 个答案:

答案 0 :(得分:0)

example也不适用于我。我联系了这个例子的作者并得到了这个回复:

  

以下网址是主干文档的链接   更新以反映落在行李箱上的一些新功能。但是这些   功能还没有在稳定(或beta)频道中,所以这就是原因   样本在那里不起作用。

要解决此问题,请创建仅加载javascript的简单html页面(将其命名为background.html):

<html>
 <head>
  <script src='background.js'></script>
 </head>
<body>
</body>

然后,更改manifest.json中的一行,来自:

"background": { "scripts": ["background.js"] },

为:

"background_page": "background.html",

请记住在这些更改后在浏览器中重新加载您的扩展程序。

这不仅有效,而且还允许您调试代码:

  1. 转到chrome:// settings / extensions
  2. 展开分机的选项
  3. 点击background.html进行调试