摘要:添加鍵盤快捷鍵的方法提供了,可以通過它來添加觸發(fā)中操作的快捷鍵。可以在內(nèi)聲明如下這意味著在用戶按下指定按鈕,會(huì)觸發(fā)一個(gè)叫做的操作。在后臺(tái)頁面中,您可以通過將處理程序綁定到清單中定義的命令。
我們?cè)谏暇W(wǎng)時(shí),常常需要把剛興趣的文章記錄下來,方便以后繼續(xù)細(xì)看。如果記錄為Markdown格式的話,還可以方便的把文章鏈接加入到自己創(chuàng)作的文章內(nèi)。
今天編寫的小工具,就是一個(gè)Chrome Extension,當(dāng)用戶在當(dāng)前頁面上按快捷鍵Command+Shift+Y的時(shí)候,可以把當(dāng)前頁面的標(biāo)題和URL組合保存到剪貼板,如下形式:
[Title](URL)
在閱讀此文之前,如果你沒有看過# 編寫第一個(gè)Chrome Extension - 掘金,建議首先閱讀此文。
添加鍵盤快捷鍵的方法Chrome提供了Command API,可以通過它來添加觸發(fā)Chrome Extension中操作的快捷鍵。可以在manifect.json內(nèi)聲明如下:
{ "commands": { "Run": { "suggested_key": { "default": "Ctrl+Shift+Y", "mac": "Command+Shift+Y" }, "description": "Toggle feature foo" }, }
這意味著在用戶按下指定按鈕(Ctrl+Shift+Y),會(huì)觸發(fā)一個(gè)叫做Run的操作。
在后臺(tái)頁面中,您可以通過onCommand.addListener將處理程序綁定到清單中定義的命令。 例如:
chrome.commands.onCommand.addListener(function(command) { console.log("Command:", command);//Run });拷貝到剪貼板的方法
可以在你的background.html內(nèi)添加一個(gè)textarea,用于拷貝到剪貼板的中轉(zhuǎn):
需要執(zhí)行操作的時(shí)候,會(huì)把內(nèi)容寫入此textarea,然后執(zhí)行命令完成剪貼動(dòng)作:
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() } });總結(jié)
本文學(xué)習(xí)了Chrome Extension的鍵盤快捷鍵的聲明和響應(yīng)的方法,更多的Chrome Extension API請(qǐng)看官方文檔chrome.commands - Google Chrome
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/99714.html
摘要:可以加載到內(nèi),通過操縱瀏覽器,從而完成一些定制的工作。一個(gè)最低需求的文件是必要的可選的圖標(biāo)等。如果這樣驗(yàn)證都是如期望的話,就表明你的第一個(gè)擴(kuò)展已經(jīng)開發(fā)成功。正式發(fā)布可以在內(nèi)發(fā)布擴(kuò)展,只要點(diǎn)擊進(jìn)入后,按照操作指示即可。 Chrome Extension可以加載到Chrome內(nèi),通過操縱Chrome瀏覽器,從而完成一些定制的工作。 假設(shè)你想要一個(gè)功能,它可以在你點(diǎn)擊上下文菜單項(xiàng)目時(shí)剪貼當(dāng)前...
摘要:配置文件每一個(gè)擴(kuò)展都有一個(gè)格式的文件,叫。此消息發(fā)送后會(huì)觸發(fā)擴(kuò)展內(nèi)每個(gè)頁面的事件。和持續(xù)長時(shí)間的保持會(huì)話需要在和擴(kuò)展建立一個(gè)長時(shí)間存在的通道。內(nèi)容腳本發(fā)送消息到擴(kuò)展程序建立通道,并給通道命名利用通道發(fā)送一條消息。 這次的練習(xí)是做一個(gè)Chrome的擴(kuò)展,分享一下入門開發(fā)過程。因?yàn)樵谙鬟f那塊糾結(jié)了特別久,所以我會(huì)重點(diǎn)總結(jié)消息傳遞那塊。 這次做這個(gè)插件的功能很簡(jiǎn)單,就是點(diǎn)擊按鈕后可以對(duì)當(dāng)...
摘要:關(guān)于我的博客掘金專欄路易斯專欄原文鏈接擴(kuò)展開發(fā)定制請(qǐng)求響應(yīng)頭域本文共字,閱讀需分鐘。那么,我會(huì)放棄嗎反向代理顯然不會(huì),既然問題出在上,我去掉就行了。然而無論多少次的學(xué)習(xí)和模仿,最終的目的還是為了使用,故開發(fā)一款定制請(qǐng)求的勢(shì)在必行。 本文首發(fā)于《程序員》雜志2017年第9、10、11期,下面的版本又經(jīng)過進(jìn)一步的修訂。 關(guān)于 Github:IHeader 我的博客:louis blog ...
摘要:如果有人有興趣的話,可以編寫則個(gè)下面,我會(huì)說明在編寫爬蟲過程中的所思所想。文章讀取完畢最后,還要再編寫一個(gè)語句,判斷是運(yùn)行還是導(dǎo)入。文章結(jié)束前的一些話嗯,本文到這里就結(jié)束了。 今天,根據(jù)網(wǎng)頁的結(jié)構(gòu),嘗試了下如何抓取煎蛋首頁上的文章。目標(biāo)很簡(jiǎn)單: 根據(jù)首頁上面的文章鏈接,載入文章,而后將文章的標(biāo)題和正文(不帶圖片)抓取下來。 抓取首頁上面文章的鏈接,標(biāo)題,作者和所屬標(biāo)簽。 按標(biāo)題將文章...
摘要:小結(jié)本文只是簡(jiǎn)單分享了如何開發(fā)一個(gè)簡(jiǎn)單的谷歌瀏覽器插件,以及一些注意事項(xiàng),并且提到了如何授權(quán)和使用谷歌插件,重點(diǎn)介紹了插件開發(fā)必備的入口文件和插件中幾個(gè)重要環(huán)境以及環(huán)境之間的通信。 我們?cè)谏暇W(wǎng)的時(shí)候,都會(huì)用到瀏覽器,但是瀏覽器并非擁有我們想要的所有功能,我們可以根據(jù)自己的需要,實(shí)現(xiàn)自己的插件來滿足需求。比如網(wǎng)頁中經(jīng)常會(huì)有大量的廣告,如果你希望擁有一個(gè)純凈的網(wǎng)頁,可以實(shí)現(xiàn)一個(gè)插件來刪除網(wǎng)...
閱讀 2986·2020-01-08 12:17
閱讀 1991·2019-08-30 15:54
閱讀 1152·2019-08-30 15:52
閱讀 2033·2019-08-29 17:18
閱讀 1042·2019-08-29 15:34
閱讀 2460·2019-08-27 10:58
閱讀 1861·2019-08-26 12:24
閱讀 368·2019-08-23 18:23