2011-11-08 13 views
0

リッチスニペットテストツールで現在のページURLを開くために、次のコードを使用しました。 最初のクリックで拡張機能が正常に動作し、URLを開くのが問題です。しかし、テストページのURLが現在開いている場合、別のページを開くことはできません。Chrome拡張機能が動作しない

私の要件は、この拡張機能の助けを借りてテストツールで一度にいくつかのページを開くことです。 しかし、私は一度に一つしか開くことができません。

私のマニフェストファイル:

{ 
    "name": "RS Analyzer", 
    "description": "Extension to get current page URL and display its Rich Snippets.", 
    "version": "1.4", 
    "background_page": "background.html", 
    "permissions": [ 
    "tabs", "http://*/*", "https://*/*" 
    ], 
    "icons":{"16": "images/R_icon_16x16.jpeg", 
      "48": "images/R_icon_48x48.jpeg", 
      "128": "images/R_icon_128x128.jpeg"}, 
    "browser_action": { 
     "default_title": "RS Analyzer", 
     "default_icon": "images/icon.jpg" 
    } 
} 

マイ背景ページは:あなたが名前を、ウィンドウ(タブ)を得たので

chrome.browserAction.onClicked.addListener(function(tab){ 
    chrome.tabs.getSelected(null,function(tab) { 
    var tablink = tab.url; 
    var richurl = "http://www.google.com/webmasters/tools/richsnippets?url=" + encodeURIComponent(tablink) + "&view="; 
    window.open(richurl,'_newtab'); 
    }); 
    }); 

答えて

1

それはです。つまり、毎回同じタブが使用されます。タブの識別子と似ています。

あなたは名前を削除することによってこの問題を解決することができます:クロームは「_newtab」を理解していない

window.open(richurl); 
1

それは同じタブに、次のいずれかを開きますので、それだけでタブのidとしてそれを考慮。 "_blank"を使用すると通常は新しいタブが開きますが、それはユーザーの設定に依存します(新しいウィンドウも開くことがあります)。

新しいタブが必要な場合は、おそらくChrome拡張機能のタブAPIを調べてください。彼らにはcreate methodがあります。拡張機能のアクセス許可を設定する必要があります。

+0

createメソッドは、タブの最後にタブを作成します。タブを入力タブの近くで開く必要がありました。 これは_newtabを削除するだけで実行できます。 ありがとう –

+0

@Chaitneya 'create()'は、タブの位置を設定できる引数として 'index'をとります。 – Lycha

関連する問題