基本上在我的窗口中(當您單擊圖標時)它應該打開並顯示選項卡的URL並在它旁邊我想要它說「保存」,它會將其保存到localStorage並顯示下面進入保存的鏈接區域。獲取URL,並將其保存| Chrome擴展程序
像這樣:
alt text http://i42.tinypic.com/dma7x5.png
喜歡的東西書籤:)
基本上在我的窗口中(當您單擊圖標時)它應該打開並顯示選項卡的URL並在它旁邊我想要它說「保存」,它會將其保存到localStorage並顯示下面進入保存的鏈接區域。獲取URL,並將其保存| Chrome擴展程序
像這樣:
alt text http://i42.tinypic.com/dma7x5.png
喜歡的東西書籤:)
如果你想要做這樣的事情,你很容易做到這一點與Chrome擴展API。需要關注的領域是:
現在的第一步是創建popup.html文件,並記它是短暫的,那就是,當你點擊瀏覽器上的動作,只住,那麼如果它退出(關閉)死亡。我想說的是,如果你有很多計算,並且你希望它在後臺發生,並且即使彈出窗口關閉,也會將所有內容移動到background page。在彈出窗口中,您可以通過使用chrome.extension.getBackgroundPage()
輕鬆訪問背景頁面在popup.html中,您需要獲取當前選項卡的URL,這樣做,Tab API具有「getSelected」功能,可讓您獲取所選標籤的Tab object。
因此,像這樣:
popup.html
<html>
<body>
<p id="currentLink">Loading ...</p>
<hr />
<ul id="savedLinks"></ul>
<script type="text/javascript" src="popup.js"></script>
</body>
</html>
彈出。JS
chrome.tabs.getSelected(null, function(tab) {
document.getElementById('currentLink').innerHTML = tab.url;
});
爲什麼你不能把JavaScript代碼的HTML文件的原因是Chrome的限制,以保護其的JavaScript攻擊,用戶的:
內嵌腳本和事件處理程序不允許
現在,您可以通過瀏覽器操作在當前頁面的彈出窗口中顯示Url。下一步是使用簡單的HTML5功能,例如localStorage或Webdatabase(在我看來這會更好)。要將保存的頁面存儲到,則可以將它們渲染到savedLinks頁面上,就像我爲currentLink所做的一樣。
祝你好運!
得到當前的URL,你需要獲得當前選項卡,然後提取所有paramenters。
獲取當前選項卡的使用,chrome.tabs.getSelected()。然後,獲取從標籤對象的參數,請參閱tabs api
您的代碼段應該是這樣的,
chrome.tabs.getSelected(null, function(tab) {
//properties of tab object
tabId = tab.id;
tabUrl = tab.url;
//rest of the save functionality.
});
您還需要申報「標籤」權限在擴展的清單以使用選項卡API。例如
{
"name": "My extension",
...
"permissions": [
"tabs"
],
...
}
我想更新此答案,因爲API已更改。
chrome.tabs.getSelected()
方法現在已被棄用。獲取當前選項卡的URL的推薦方法是使用chrome.tabs.query()
:
chrome.tabs.query({'active': true}, function (tabs) {
var url = tabs[0].url;
});
這仍需要您請求在您的擴展清單訪問chrome.tabs
API:
"permissions": [ ...
"tabs"
]
你可以閱讀更多關於這裏的棄用:chrome.tabs.getSelected()
希望這有助於!
注意:這裏的所有答案都建議使用'chrome.tabs.getSelected'。這個API方法已被廢棄,但你必須使用'chrome.tabs.query'而不是 - 請參閱[如何獲取當前打開的標籤的URL在我的頁面動作彈出?](http://stackoverflow.com/questions/10413911 /如何獲取當前打開的標籤頁在我的網頁動作彈出/ 10417327#10417327) – 2012-08-29 09:56:14