作者:Qualcommtjmag_716 | 来源:互联网 | 2023-09-08 10:00
我们在上网时,经常须要把刚兴致的文章纪录下来,轻易今后继承细看。假如纪录为Markdown花样的话,还能够轻易的把文章链接加入到本身创作的文章内。本日编写的小工具,就是一个Chro
我们在上网时,经常须要把刚兴致的文章纪录下来,轻易今后继承细看。假如纪录为Markdown花样的话,还能够轻易的把文章链接加入到本身创作的文章内。
本日编写的小工具,就是一个Chrome Extension,当用户在当前页面上按快捷键Command+Shift+Y的时刻,能够把当前页面的题目和URL组合保存到剪贴板,以下情势:
[Title](URL)
在浏览此文之前,假如你没有看过# 编写第一个Chrome Extension – 掘金,发起起首浏览此文。
增加键盘快捷键的要领
Chrome供应了Command API,能够经由过程它来增加触发Chrome Extension中操纵的快捷键。能够在manifect.json内声明以下:
{
"commands": {
"Run": {
"suggested_key": {
"default": "Ctrl+Shift+Y",
"mac": "Command+Shift+Y"
},
"description": "Toggle feature foo"
},
}
这意味着在用户按下指定按钮(Ctrl+Shift+Y),会触发一个叫做Run的操纵。
在背景页面中,您能够经由过程onCommand.addListener将处置惩罚顺序绑定到清单中定义的敕令。 比方:
chrome.commands.onCommand.addListener(function(command) {
console.log('Command:', command);//Run
});
拷贝到剪贴板的要领
能够在你的background.html内增加一个textarea,用于拷贝到剪贴板的中转:
须要实行操纵的时刻,会把内容写入此textarea,然后实行敕令完成剪贴行动:
document.execCommand("copy", false, null);
整合后的js代码以下:
function copyTitleURL() {
chrome.tabs.getSelected(null, function(tab) {
copyToClipboard( "["+tab.title + "](" + tab.url +")");
});
}
function copyToClipboard(str) {
var obj=document.getElementById("clipboard");
if( obj ) {
obj.value = str;
obj.select();
document.execCommand("copy", false, null);
}
}
chrome.commands.onCommand.addListener(function(command) {
if("Run" === command){
copyTitleURL()
}
});
总结
本文进修了Chrome Extension的键盘快捷键的声明和相应的要领,更多的Chrome Extension API请看官方文档chrome.commands – Google Chrome