每次用户选择/突出显示任何选项卡上的某些文本时,我都试图触发代码块。
当我突出显示一些文本然后单击扩展名时,我可以运行javascript。 我已经阅读了一些chrome API,但似乎都没有用。 https://developer.chrome.com/extensions/api_index
chrome.browserAction.onClicked.addListener(function() {
alert(window.getSelection().toString());
});
突出显示一些文本后,我将无法运行代码。有没有已经处理过的API?
答案 0 :(得分:0)
您应该只添加一个缓冲区:
在谈论任何选项卡中的选择时,应使用storage api并引用tab id以便进一步使用。
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"
],
...
}