2015-06-19 193 views
0

我期待創建一個「新標籤」擴展程序,如PandaProduct Hunt Extension:用戶可以打開一個帶有隱藏網址的我的網站的新選項卡。簡單的Chrome擴展程序:在新標籤中打開一個網址

我產生我的包與真棒Extensionizr,這裏是我的manifest.json

manifest.json的

{ 
    "name": "My app", 
    "version": "0.0.1", 
    "manifest_version": 2, 
    "description": "My awesome app", 
    "homepage_url": "http://myapp.com", 
    "icons": { 
    "16": "icons/icon16.png", 
    "48": "icons/icon48.png", 
    "128": "icons/icon128.png" 
    }, 
    "default_locale": "en", 
    "background": { 
    "scripts": [ 
     "src/bg/background.js" 
    ], 
    "persistent": false 
    }, 
    "permissions": [ 
    "tabs", 
    "http://myapp.com/*" 
    ] 
} 

background.js來自this answer,這個問題似乎真的相似。

background.js

chrome.browserAction.onClicked.addListener(function(activeTab) { 
    var newURL = "http://myapp.com"; 
    chrome.tabs.create({ url: newURL }); 
}); 

,當我嘗試從擴展設置運行後臺頁面我仍然得到這個錯誤:Uncaught TypeError: Cannot read property 'onClicked' of undefined

當我打開一個新標籤,谷歌Chrome利用並顯示我一個谷歌搜索頁面。

我這樣做是錯誤的,我不知道如何/在哪裏/爲什麼

+0

清單中的「browser_action」字段在哪裏? – gui47

+0

單擊瀏覽器操作圖標時會觸發'chrome.browserAction.onClicked.addListener',而不是以其他方式打開新選項卡。 https://developer.chrome.com/extensions/browserAction – gui47

回答

2

你完全偏離軌道。你不想打開一個(簡單的)新標籤,你想替換「新標籤頁」。
Daniel's answer正確地解釋了爲什麼你的代碼不工作,但它不會做你想要的。

要更換Chrome的新標籤頁,您需要使用Override Pages

"chrome_url_overrides" : { 
    "newtab": "myPage.html" 
    }, 

內部的myPage.html,您可以爲遠程內容添加。

+0

非常感謝Xan! – tchret

1

那是因爲你需要註冊清單中的瀏覽器操作。這是您的清單,並在底部添加瀏覽器操作。

{ 
    "name": "My app", 
    "version": "0.0.1", 
    "manifest_version": 2, 
    "description": "My awesome app", 
    "homepage_url": "http://myapp.com", 
    "icons": { 
    "16": "icons/icon16.png", 
    "48": "icons/icon48.png", 
    "128": "icons/icon128.png" 
    }, 
    "default_locale": "en", 
    "background": { 
    "scripts": [ 
     "src/bg/background.js" 
    ], 
    "persistent": false 
    }, 
    "permissions": [ 
    "tabs", 
    "http://myapp.com/*" 
    ], 
    "browser_action": {} 
} 

下面是瀏覽器操作的文檔:https://developer.chrome.com/extensions/browserAction

+0

這是..不是用戶正在尋找。他需要的是一個新的選項卡覆蓋。仔細閱讀問題。 – Xan

相關問題