2017-01-05 20 views
0

私の拡張機能のbackground.jsに基本メッセージ(リンク)を送信するコンテンツスクリプトがあります。Chrome APIを使用して新しいウィンドウをバックグラウンドで開く

私は、chrome.windows.createを使用してバックグラウンドでリンクを開くにはどうすればいいですか?また、フォーカスを得ることなく、クロムを最小限に抑えて別のリンクを開くと、クロムが再びフォーカスを得られないようにします。

//Opens received link //background.js 
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse){ 
    chrome.windows.create({ 
     url: message.link 
    }); 
}); 

編集: 私は新しいウィンドウを作成するための私のコードにこれを追加して、それはそれに切り替えるdoesntのが、私の質問は、すべてのバックグラウンドで起こることができる方法はありますか?ウィンドウが表示されず、最小化されていなくても好きですか?

chrome.windows.create({ 
    url: message.link, 
    type: "normal", 
    state: "minimized" 
}); 
+2

可能な複製http://stackoverflow.com/a/20400893/834? – cringe

+0

私のために働いた人はいません。 – PredatorIWD

+0

@タイヨン、browserActionコールなしで試したことを確認してください... – wOxxOm

答えて

0
chrome.windows.getCurrent(function(winCurrent){ 
     chrome.windows.create({url:message.link}, function(win){ 
      chrome.windows.update(winCurrent.id, {focused: true}); 
     }); 
    }); 

使用getCurrent、あなたの現在のウィンドウを取得し、新しいウィンドウを作成し、バック前のウィンドウ(winCurrent)にフォーカスをシフトします。プロセスが速いので、視聴者があまり感じることはありません。

関連する問題