2014-06-16 31 views
0

我試圖找到一個單擊解決方案,以在Google Chrome的相同窗口中的不同選項卡中打開多個網站。我知道我可以將所有網站放在書籤文件夾和right click > open all(或中間點擊書籤文件夾),但這不符合我的需要。Google chrome應用程序啓動多個選項卡不可預知地崩潰

據我所知是沒有辦法啓動多個選項卡開始使用谷歌瀏覽器的JavaScript回調一個非用戶。如果是這種情況,則Chrome會在彈出窗口的單獨窗口中啓動每個網站(請參閱here)。

不過,我設法完成使用谷歌Chrome應用這項任務:

manifest.json的

{ 
    "name": "Open multiple tabs", 
    "version": "1.0", 
    "description": "Opens multiple tabs in the same window.", 
    "manifest_version": 2, 
    "app": { 
    "background": { 
     "scripts": ["background.js"] 
    } 
    } 
} 

background.js

chrome.app.runtime.onLaunched.addListener(function() { 
    window.open("http://plus.google.com"); 
    window.open("http://www.twitter.com"); 
    window.open("http://news.google.com/"); 
    window.open("http://bestofyoutube.com"); 
    window.open("http://www.sci2.tv/#!/browse"); 
}); 

最有可能是我的代碼有問題,因爲超過一半的時間,加載標籤後它崩潰,顯示「Aw shap!顯示此網頁時出現問題。要繼續,請重新加載或轉到另一個頁面」錯誤消息。

而且和Google+(plus.google.com)總是顯示消息‘您已登出Google+的’(如果該選項卡不第一崩潰),即使重裝後不會消失。

如果我包的應用程序安裝與否之前不要緊。

任何幫助,將不勝感激。

作爲獎勵,有人可以請解釋爲什麼要更換

window.open(url); 

chrome.tabs.create(url); 

結果在App即使什麼也不做?

感謝, 尼科斯

OSX小牛,Chrome的版本35.0.1916.153

回答

1

我認爲你的問題是試圖建立Chrome App,當你想要的功能更適合的Extension。兩個之間的比較見here

舉個例子,這裏的應用出了什麼問題?

  1. chrome.tabs API是unavailable for Apps。這是因爲應用程序不應該:

    1. 與瀏覽器UI交互,即打開它的標籤;
    2. 有自己內部的標籤 - 他們應該看起來像「原生」的應用,而不是迷你瀏覽器
  2. Google+上簽字了:這是因爲應用程序不能訪問到瀏覽器的自己的cookie。他們有自己的cookie存儲,並需要採取額外的步驟來堅持這些。

所以,你真正想要的是一個Browser Action擴展名。它會給你一個很好的按鈕,你可以使用chrome.windowschrome.tabs來做你想做的。

+0

謝謝你的答案,這是非常有益的!我想我很愚蠢我沒有在我的問題中指出_爲什麼我首先需要這個功能,以防有人想到一個解決方法來提出,以及爲什麼擴展最可能不符合我的需要:我正在使用[ ANTP](http://bit.ly/U6xq1r)擴展,它允許放置a)鏈接(以http://等有效協議開始),b)應用和c)ANTP小部件網格在新標籤頁中。我想要其中一個瓷磚啓動多個網站。有沒有辦法從JavaScript發起擴展? – nikos

+0

@Nicholas在這種情況下,您需要創建一個ANTP _widget_,它是一個擴展,用於響應來自ANTP的外部消息。我找不到任何文檔,但有一些例子,例如[here](https://github.com/NewTabPage)。 – Xan

+0

我想避免這種情況,並有更通用的東西,但是我猜這就是要走的路!謝謝! – nikos