Вы должны просто добавить буфер:
Выбор магазина
Когда вы говорите о выборках из любой вкладки, вы должны использовать api для хранения и ссылаться на идентификатор вкладки для дальнейшего использования.
document.onmouseup = function() {
chrome.tabs.getCurrent(function(_tabId){
if(_tabId){
var _SELECTION = {};
_SELECTION[tabId] = window.getSelection().toString();
chrome.storage.local.set(_SELECTION, function() {
console.log('Selection saved: ', _SELECTION[tabId]);
});
}
});
}
Используйте его при нажатии на добавочный номер
chrome.browserAction.onClicked.addListener(function() {
chrome.tabs.getCurrent(function(_tabId){
if(_tabId){
chrome.storage.local.get(_tabId, function(result) {
alert('Selection restored: ' + result[tabId].txt);
});
}
});
});
Манифест
Не забудьте обновитьваш manifest.json для установки соответствующих разрешений
{
...
"permissions": [
"storage",
"tabs"
],
...
}
Примечание
- Я использовал storage.local, поскольку буфер обмена должен храниться на локальном компьютере, но если вы хотите поделитьсяэто кросс-машины вы можете использовать storage.sync.Больше читать в документах .
- Я бы использовал contextMenus .Это имеет смысл, если вы выделите текст правой кнопкой мыши и выполните действие.