在的瀏覽器都有保存密碼的功能,在登錄賬號的時候,選擇保存密碼的話,那么下次需要登錄這個賬號時,瀏覽器可以幫你搞定。
現(xiàn)在的瀏覽器可以幫你保存密碼
然而問題來了,不手動輸密碼,長久如此就會把密碼甚至賬號給忘了,遇到換瀏覽器、重裝系統(tǒng)或者換電腦的情況,沒有了保存的賬號密碼,只能對著登錄框干瞪眼嗎?把瀏覽器之前保存的密碼都扒出來,就可以解決問題!這就來為大家分享一下方法吧。
實際上,瀏覽器保存的密碼很多都是明文保存的,安全性由系統(tǒng)密碼確保,所以要扒出來并不難。瀏覽器自身也帶有查看保存的密碼的功能,例如Chrome在設置中就可以查看到,但并不能批量導出。因此,借助第三方工具導出瀏覽器保存的賬號密碼,是更好的方法。這里使用到個工具是“WebBrowserPassView”。
WebBrowserPassView官網(wǎng)地址:http://www.nirsoft.net/utils/web_browser_password.html
WebBrowserPassView是一款來自國外的綠色小軟件,解壓后直接運行即可。由于它會扒瀏覽器的密碼,因此很多殺毒軟件都會對其報毒,信任即可。
可能會報毒,添加信任即可
WebBrowserPassView支持多種瀏覽器,無論是Chrome、Firefox、IE、Opera等瀏覽器的密碼,都可以一鍵扒出來。它的使用也非常簡單,運行后,就可以看到主界面顯示出各個瀏覽器存儲的賬號密碼了。和單個瀏覽器只能到設置界面,一條條查看相比,這無疑方便得多。
主界面,各個瀏覽器中存儲的密碼都被扒了出來
如果發(fā)現(xiàn)缺少了某些密碼,刷新即可
WebBrowserPassView的一大妙用,就是批量導出密碼。在界面當中,你可以選擇多條賬號密碼信息,點擊右鍵批量復制,或者導出為HTML文件。有了這個功能,瀏覽器保存的所有密碼都可以一下子全部扒出來,或許有些賬號密碼你甚至已經(jīng)忘卻了它的存在,但此時卻又能再次呈現(xiàn)在你眼前了。
可以批量導出密碼
可以把瀏覽器保存的賬號、密碼導出為HTML文件,查看、使用都很方便
總的來說,這的確是一款非常實用的工具。如果你忘了某個賬號密碼,而它是保存在你的瀏覽器當中的,WebBrowserPassView絕對能帶給你驚喜。
責編:黎曉珊
日常業(yè)務開發(fā),比如復制后增加版權信息,點擊復制,等場景中需要進行復制粘貼的操作,以下是幾種實現(xiàn)方案。
Clipboard API 提供了響應剪貼板命令(剪切、復制和粘貼)與異步讀寫系統(tǒng)剪貼板的能力。從權限 API (Permissions API) 獲取權限之后,才能訪問剪貼板內容;如果用戶沒有授予權限,則不允許讀取剪貼板內容。
可以使用全局的 Navigator.clipboard 來訪問剪貼板。
Navigator.clipboard 屬性返回 Clipboard 對象,所有操作都通過這個對象進行。
Clipboard 對象提供了四個方法,用來讀寫剪貼板。它們都是異步方法,返回 Promise 對象。
read() 方法可以從剪貼板讀取任意數(shù)據(jù),可以是文本數(shù)據(jù),也可以是二進制數(shù)據(jù)(比如圖片)。該方法需要用戶明確給予許可。
read() 方法返回一個 Promise 對象。一旦該對象的狀態(tài)變?yōu)?resolved,就可以獲得一個數(shù)組,每個數(shù)組成員都是 ClipboardItem 對象的實例。
ClipboardItem對象表示一個單獨的剪貼項,每個剪貼項都擁有types屬性和 getType( ) 方法。
ClipboardItem.types屬性返回一個數(shù)組,里面的成員是該剪貼項可用的MIME類型,比如某個剪貼項可以用HTML格式粘貼,也可以用純文本格式粘貼,那么它就有兩個MIME類型(text/html和text/plain)。
ClipboardItem.getType(type)方法用于讀取剪貼項的數(shù)據(jù),返回一個Promise對象。該方法接受剪貼項的MIME類型作為參數(shù),返回該類型的數(shù)據(jù),該參數(shù)是必需的,否則會報錯。
示例:
一篇文章Stimulus:連接HTML和JavaScript的橋梁,實現(xiàn)簡單的controller,并學習了Stimulus是如何連接HTML與JavaScript的。現(xiàn)在我們使用Stimulus來實現(xiàn)復制文本到粘貼板的按鈕。
比如說,我們現(xiàn)在有一個需求,就是幫助用戶生成密碼,在密碼旁邊放置一個按鈕,點擊按鈕后密碼就被拷貝到粘貼板上了,這樣就方便用戶使用這個密碼了。
打開public/index.html,修改body內容,填充一個簡單的按鈕,如下:
<div>
PIN: <input type="text" value="1234" readonly>
<button>Copy to Clipboard</button>
</div>
下一步,創(chuàng)建src/controllers/clipboard_controller.js,然后添加一個copy()方法:
import { Controller } from "@hotwired/stimulus"
export default class extends Controller {
copy() {
}
}
然后,給div添加data-controller=“clipboard”。只要是給元素添加了data-controller屬性,Stimulus就會連接一個controller實例。
<div data-controller="clipboard">
我們還需要一個對輸入框的引用,這樣我們就可以在調用粘貼板API之前獲取輸入框的內容。給文本框添加data-clipboard-target=“source“:
PIN: <input data-clipboard-target="source" type="text" value="1234" readonly>
在controller中定義一個target,然后就可以通過this.sourceTarget訪問文本框了。
import { Controller } from "@hotwired/stimulus"
export default class extends Controller {
static targets = [ "source" ]
copy() {
}
}
解釋一下這個targets:
當Stimulus加載你的controller類時,它會查看靜態(tài)數(shù)組targets的字符串元素,對于每一個字符串,Stimulus會在controller中添加3個屬性。在這里,對于“source”,會添加如下屬性:
this.sourceTarget 在controller的域內的第一個source
this.sourceTargets 在controller的域內所有的source組成的一個數(shù)組
this.hasSourceTarget 在controller的域內是否有source
我們希望點擊按鈕時調用controller中的copy()方法,所以我們需要添加data-action=“clipboard#copy“
<button data-action="clipboard#copy">Copy to Clipboard</button>
你可以已經(jīng)注意到在上面的動作描述符中省略了click->。那是因為Stimulus給button設置了click作為它默認的事件。
某些其他元素也有默認事件。下面是個全部列表:
元素 | 默認事件 |
a | click |
button | click |
details | toggle |
form | submit |
input | input |
input type=“submit” | click |
select | change |
textarea | input |
最終,在copy()方法中,我們獲取輸入框的內容,調用粘貼板API
copy() {
navigator.clipboard.writeText(this.sourceTarget.value)
}
刷新頁面,點擊按鈕,然后快捷鍵粘貼到Greet按鈕前到輸入框,可以看到1234。
到目前為止,在頁面上同一時間只有一個controller實例。在頁面上同時有一個controller的多個實例也是很正常的。
我們的controller是可以復用的,只要你需要在頁面上添加復制內容的按鈕,無論是哪個頁面,只要把對應的屬性值寫好,我們的controller都是生效的。
還是上面的例子,再添加另外一個復制按鈕:
<div data-controller="clipboard">
PIN: <input data-clipboard-target="source" type="text" value="3737" readonly>
<button data-action="clipboard#copy" class="clipboard-button">Copy to Clipboard</button>
</div>
刷新頁面,驗證一下兩個復制按鈕是否都生效。
我們再添加一個可以復制的元素,不用button,我們用a標簽,
<div data-controller="clipboard">
PIN: <input data-clipboard-target="source" type="text" value="6666" readonly>
<a href="#" data-action="clipboard#copy" class="clipboard-button">Copy to Clipboard</a>
</div>
Stimulus允許我們使用任何元素,只要它設置了合適的data-action屬性,就可以觸發(fā)復制。
這個例子里,要注意一點,點擊鏈接會使瀏覽器追蹤a標簽內的href屬性跳轉,可以取消這種默認行為,只需要在action中調用 event.preventDefault()就可以了。
copy(event) {
event.preventDefault()
navigator.clipboard.writeText(this.sourceTarget.value)
}
還有另外一個方法,拷貝粘貼板上
copy(event) {
event.preventDefault()
this.sourceTarget.select()
document.execCommand("copy")
}
在本文中,我們看了一個在現(xiàn)實中把瀏覽器API包裝在Stimulus的controller中的例子。還有一個controller的多個實例如何同時出現(xiàn)在頁面上,我們還探索了actions和targets如何保持HTML和JavaScript的松散耦合。
下一篇文章,我們將優(yōu)化一下這個復制粘貼板的功能,讓它運行起來更加健壯。
Stimulus:瀏覽器不支持復制或者弱網(wǎng)條件下,怎么辦?
*請認真填寫需求信息,我們會在24小時內與您取得聯(lián)系。