22

Chrome拡張機能を作成し、popup.htmlを使用してファイルを開くことができましたwindow.open。ただし、新しいタブで開きたいので、次のようなさまざまな方法を試しました。

<script type="text/javascript" language="JavaScript">
  chrome.tabs.create('url': 'popup.html');

コードを間違った場所に配置しただけですか、それともまったく間違ったコードですか?

4

3 に答える 3

22

popup.html を新しいタブで開く必要があるのはなぜですか? そのために別のページを作成する必要があります。とにかく、popup.html を新しいタブで開きたい場合は、拡張 URL を渡す必要があります。

http://code.google.com/chrome/extensions/extension.html#method-getURL

chrome.tabs.create({'url': chrome.extension.getURL('popup.html')}, function(tab) {
  // Tab opened.
});
于 2010-03-09T23:40:18.333 に答える
9

default_popup ページを作成せずに、イベント ページを使用して、拡張アイコンがクリックされたときに popup.html を新しいタブで開くことができるようになりました。

マニフェスト:

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

js:

chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.create({'url': chrome.extension.getURL('popup.html'), 'selected': true});
});
于 2015-06-15T05:29:24.923 に答える
3

http://code.google.com/chrome/extensions/tabs.htmlで説明されているように、chrome.tabs.create(オブジェクトプロパティ、関数コールバック)を使用します

オブジェクトのプロパティには、windowId、index、url、およびselectedのフィールドを含めることができます。オプションのコールバック関数は、新しく作成されたタブのTabオブジェクトを受け取ります。

したがって、現在のウィンドウに新しいタブを作成して選択する最も簡単な例は、次のようになります。

chrome.tabs.create({'url': chrome.extension.getURL('popup.html')});

なぜpopup.htmlを新しいタブに表示したいかはわかりませんが、拡張機能の開発/デバッグ中に非常に役立つと思います...拡張機能ページに「通常」リンクしかないのは非常に苦痛です。バックグラウンドページに。

新しいウィンドウで、おそらくキオスクモードでそれを開く方法を知りたいです;-)

于 2010-03-25T16:27:16.483 に答える