4

我已經實現了Chrome擴展。想知道popup.html是否可以在新標籤中打開?每一次點擊頁面,彈出消失:(..想知道如果我可以堅持它的頁面或有沒有辦法在新頁面打開擴展名?在新選項卡中打開Chrome擴展

回答

5

是的,彈出頁面只是一個普通的擴展頁面,你可以執行以下操作來從後臺頁面打開一個新的彈出選項卡,每當用戶首次安裝擴展時,我都會打開about頁面,對於彈出頁面可以這樣做。

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

對於我的擴展之一,My Hangouts,我有彈出內的小「開放作爲標籤」按鈕,我綁定單擊事件鏈接到執行此:

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

我傳遞哈希的原因是因爲我想在用戶在彈出窗口中打開它時添加更多內容,因爲有更多的房地產可供玩耍。

在彈出的,我正常使用JavaScript來區分是否我在新標籤頁或像一個正常的頁面打開的選項卡中的以下內容:

if (window.location.hash == '#window') { 
    this.displayAsTab = true; 
} 

你可以做花樣這樣使你的擴展用戶體驗更好。

+0

哇..聽起來真的很酷..我試着在popup.html上做下面的事情,但有點沒有工作。有什麼我做錯了嗎? (我已經包含jquery) $(function(){ \t chrome.tabs.create({'url':chrome.extension.getURL('popup.html')}); }); 我也試着在background.html中做同樣的事情,但沒有奏效。有沒有一種簡單的方法可以看到這項工作?喜歡,點擊一個鏈接,整個彈出窗口打開在一個新的標籤? – sharath 2012-03-08 02:10:56

+0

當我嘗試 $(function(){0 {0} {0} {0};}};}); 它沒有工作,但當我試圖 $(function(){ chrome.tabs.create({'url':'http://www.google.com','selected':'true'}); });它的工作原理是 。 因此,谷歌,它的工作,但popup.html它沒有。 popup.html – sharath 2012-03-08 02:25:49

+0

@paypalcomp中有上面的代碼,你可以發佈更多的代碼,也許在gist.github.com或pastebin?你有沒有檢查你的控制檯的錯誤?右鍵單擊您的彈出框,然後選擇檢查。點擊控制檯選項卡,並查看錯誤。 (同樣適用於你的背景頁面,但它可以在你的設置/選項窗口中找到) – 2012-03-09 14:38:14

1

這裏是同一個問題:Chrome Extension: onclick extension icon, open popup.html in new tab

使用:

chrome.tabs.create({'url': chrome.extension.getURL('popup.html')}, function(tab) { 
    // Tab opened. 
}); 

物業 「釘」 貼標籤。

+0

哇..這聽起來很酷..我試着在popup.html上做下面的事情,但有點沒有工作。錯誤?(我已經包含jquery)$(function(){chrome.tabs.create({'url':chrome.extension.getURL('popup.html')});});我試着做同樣的background.html,但沒有工作,有沒有一種簡單的方法,我可以看到這項工作?點擊一個鏈接,整個彈出窗口打開在一個新的標籤? – sharath 2012-03-08 02:14:00

+0

那些鉻。* API只能在擴展中調用進程(後臺頁面,選項頁面,彈出窗口等),您可以使用消息傳遞。 – Vinta 2012-03-08 10:09:46

相關問題