2012-01-21 12 views
2

私はJavascriptに慣れておらず、特定のURLをタブで​​開いたときにpage_actionアイコンを表示する方法を理解するのに苦労しています。特定のページに対してpage_actionを表示させるにはどうすればよいですか?

Googleで提供されているサンプルの一部をURLの特定の文字(例では「g」が使用されています)を見つけるために使用しようとしました。私は単に拡張子を使って解凍してみましたが、私がGoogleにアクセスしたときにはうまくいきませんでした。

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

私には何か信じられないほど明白なものがありますか?

+0

この例については、http://src.chromium.org/viewvc/chrome/trunk/src/chrome/common/extensions/docs/examples/api/pageAction/pageaction_by_url/? –

+0

そうです。 –

答えて

0

このexampleは私にとってはうまくいきません。私は、この例の作者に連絡をし、この応答を得た:

以下のURLをトランクに上陸したいくつかの新機能を反映するために を更新されたトランクのドキュメントへのリンクです。しかし、これらの 機能は安定した(またはベータ版)チャンネルにはまだありません。そのため、 サンプルがそこでは機能しません。

、それを修正するだけではJavaScriptをロードする簡単なHTMLページ(background.htmlという名前を付けます)を作成するには:次に

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

を、から、manifest.jsonに1行を変更します。

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

〜:

"background_page": "background.html", 

これらの変更を行った後で、ブラウザで拡張機能を再読み込みすることを忘れないでください。クロムに

  1. ゴー:それだけではないだろう仕事だけでなく、あなたのコードをデバッグすることができます

    //設定/拡張

  2. はあなたの拡張
  3. のオプションを展開し、それをデバッグするbackground.htmlをクリックしてください
+0

私はbackground.htmlのインラインjavascriptとして元々設定していましたが、マニフェストにはすでにbackground_page: "background.html" 'がありました。 –

+0

このサンプルの古いバージョンがあるはずです。現在のバージョン+上記の私の答えに記載されている変更は私のためにうまく動作します。あなたのバージョンに何が間違っているかを伝えるのは難しいです。 javascriptの部分は私のものと同じです。前述の 'background.html'をデバッグし、コンソールでエラーが発生していないかどうか確認してください。 –

+0

この拡張機能の他のバージョンはhttp://code.google.com/chrome/extensions/samples.html#chrome.pageActionから取得しました。そしてそれはうまく動作します。 –

関連する問題