Kar*_*ana 5 javascript google-chrome-extension
每次用户选择/突出显示任何选项卡上的某些文本时,我都试图触发一段代码。
当我突出显示某些文本然后单击我的扩展程序时,我可以运行 javascript。我已经阅读了一些 chrome api,但它们似乎都不起作用。 https://developer.chrome.com/extensions/api_index
chrome.browserAction.onClicked.addListener(function() {
alert(window.getSelection().toString());
});
Run Code Online (Sandbox Code Playgroud)
当我突出显示某些文本时,我无法立即运行代码。是否有一个 API 已经可以处理这个问题了?
你应该只添加一个缓冲区:
当您谈论从任何选项卡中进行选择时,您应该使用存储 api并引用选项卡 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]);
});
}
});
}
Run Code Online (Sandbox Code Playgroud)
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);
});
}
});
});
Run Code Online (Sandbox Code Playgroud)
不要忘记更新您的manifest.json以设置相应的权限
{
...
"permissions": [
"storage",
"tabs"
],
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2082 次 |
| 最近记录: |