導讀
在瀏覽網(wǎng)頁時經(jīng)常會出現(xiàn)的一件事,當想要復制,突然發(fā)現(xiàn)復制無法正常使用?如:
1.XX網(wǎng)禁止轉載的文章無法復制或者是復制出的內(nèi)容多出了一點其他的東西
2.XX文檔共享網(wǎng)干脆直接不能選中了。
解決思路
欲先制敵,必先惑敵。想要解除復制粘貼的限制,就必須要清楚它們是如何實現(xiàn)的。不管如何,瀏覽器上能夠運行的都是 JAVAScript,它們都是使用 JavaScript 實現(xiàn)的。實現(xiàn)方式大致都是監(jiān)聽相應的事件(例如監(jiān)聽 Ctrl-C等),然后做一些特別的操作。大部分情況下使用 的方法都是通過JavaScript 在相應事件中返回 false,來阻止對應事件。那么,既然事件都被阻止了,是否意味著我們就束手無策了呢?所能想到的解決方案大致有三種方向:
1.使用 JavaScript 監(jiān)聽事件并自行實現(xiàn)復制/剪切/粘貼功能
- 優(yōu)點:實現(xiàn)完成后不管是任何網(wǎng)站都能使用,并且不會影響到監(jiān)聽之外的事件,也不會刪除監(jiān)聽的同類型事件,可以解除瀏覽器本身的限制(密碼框禁止復制)
- 缺點:某些功能自行實現(xiàn)難度很大,例如選擇文本
2.重新實現(xiàn) addEventListener 然后刪除掉網(wǎng)站自定義的事件
- 優(yōu)點:事件生效范圍廣泛,通用性高,不僅 復制/剪切/粘貼,其他類型的事件也可以解除
- 缺點:實現(xiàn)起來需要替換 addEventListener 事件夠早,對瀏覽器默認操作不會生效(密碼框禁止復制),而且某些網(wǎng)站也無法破解
3.替換元素并刪除 DOM 上的事件屬性
- 優(yōu)點:能夠確保網(wǎng)站 js 的限制被解除,通用性高,事件生效范圍廣泛
- 缺點:可能影響到其他類型的事件,復制節(jié)點時不會復制使用 addEventListener 添加的事件
總之,如果真的想解除限制,恐怕需要兩種方式并用才可以。說了這么多,是不是感覺很復雜的樣子,我到底該如何操作才能解除復制粘貼限制的?不用著急,Greasemonkey插件可快速的幫我們解決這種限制。
解決方法
安裝Greasemonkey插件即可快速解除網(wǎng)頁復制粘貼限制。
插件安裝方式: https://greasyfork.org/zh-CN/help/installing-user-scripts






