們平時瀏覽網(wǎng)頁和查找資料時,總會需要復制一些文字內容,用來引用、收藏、摘抄啊什么的。
但總會遇到一些網(wǎng)站上的內容文本無法復制!
好不容易找到的資料,再一個個字手打效率太低了……
下面小編就給大家分享六種方法,教大家如何輕松解除網(wǎng)頁復制限制,一鍵搞定,簡單實用!
最簡單也是最省事的方法,直接安裝解除復制限制的擴展完事兒。
下面推薦兩款擴展:
使用方法也很簡單,在有復制限制或者右鍵限制的網(wǎng)站上,點擊擴展圖標,開啟功能即可。
無法訪問 Chrome 擴展商店的可以在這里下載擴展:極簡插件(https://chrome.zzzmh.cn)。
和擴展效果一樣,油猴腳本的優(yōu)勢是更加輕量。
可以解除禁止復制、選擇文本、右鍵菜單的限制。
首先,瀏覽器要有腳本管理擴展,如 Tampermonkey、Violentmonkey。沒安裝的前往官網(wǎng)安裝下。
然后進入腳本地址,點擊安裝即可。
瀏覽器小書簽其實和油猴腳本一樣,只不過不依賴于擴展,添加一個書簽即可。
我們先在瀏覽器里添加任意一個網(wǎng)站為書簽到收藏夾,然后選擇編輯它。
修改名稱為“網(wǎng)頁解除限制”,方便自己識別就好。
然后將網(wǎng)址欄的內容刪除,并粘貼為下面的代碼:
javascript:(function(bookmarklets)%7Bfor(var i=0;i<bookmarklets.length;i++)%7Bvar code=bookmarklets%5Bi%5D.url;if(code.indexOf("javascript:")!=-1)%7Bcode=code.replace("javascript:","");eval(code)%7Delse%7Bcode=code.replace(/%5Es+%7Cs+$/g,"");if(code.length>0)%7Bwindow.open(code)%7D%7D%7D%7D)(%5B%7Btitle:"破除右鍵菜單限制",url:"javascript:function applyWin(a)%7Bif(typeof a.__nnANTImm__===%5Cx22undefined%5Cx22)%7Ba.__nnANTImm__=%7B%7D;a.__nnANTImm__.evts=%5B%5Cx22mousedown%5Cx22,%5Cx22mousemove%5Cx22,%5Cx22copy%5Cx22,%5Cx22contextmenu%5Cx22%5D;a.__nnANTImm__.initANTI=function()%7Ba.__nnantiflag__=true;a.__nnANTImm__.evts.forEach(function(c,b,d)%7Ba.addEventListener(c,this.fnANTI,true)%7D,a.__nnANTImm__)%7D;a.__nnANTImm__.clearANTI=function()%7Bdelete a.__nnantiflag__;a.__nnANTImm__.evts.forEach(function(c,b,d)%7Ba.removeEventListener(c,this.fnANTI,true)%7D,a.__nnANTImm__);delete a.__nnANTImm__%7D;a.__nnANTImm__.fnANTI=function(b)%7Bb.stopPropagation();return true%7D;a.addEventListener(%5Cx22unload%5Cx22,function(b)%7Ba.removeEventListener(%5Cx22unload%5Cx22,arguments.callee,false);if(a.__nnantiflag__===true)%7Ba.__nnANTImm__.clearANTI()%7D%7D,false)%7Da.__nnantiflag__===true?a.__nnANTImm__.clearANTI():a.__nnANTImm__.initANTI()%7DapplyWin(top);var fs=top.document.querySelectorAll(%5Cx22frame, iframe%5Cx22);for(var i=0,len=fs.length;i<len;i++)%7Bvar win=fs%5Bi%5D.contentWindow;try%7Bwin.document%7Dcatch(ex)%7Bcontinue%7DapplyWin(fs%5Bi%5D.contentWindow)%7D;void 0;"%7D,%7Btitle:"破除選擇復制限制",url:"javascript:(function()%7Bvar doc=document;var bd=doc.body;bd.onselectstart=bd.oncopy=bd.onpaste=bd.onkeydown=bd.oncontextmenu=bd.onmousemove=bd.onselectstart=bd.ondragstart=doc.onselectstart=doc.oncopy=doc.onpaste=doc.onkeydown=doc.oncontextmenu=null;doc.onselectstart=doc.oncontextmenu=doc.onmousedown=doc.onkeydown=function ()%7Breturn true;%7D;with(document.wrappedJSObject%7C%7Cdocument)%7Bonmouseup=null;onmousedown=null;oncontextmenu=null;%7Dvar arAllElements=document.getElementsByTagName(%5Cx27*%5Cx27);for(var i=arAllElements.length-1;i>=0;i--)%7Bvar elmOne=arAllElements;with(elmOne.wrappedJSObject%7C%7CelmOne)%7Bonmouseup=null;onmousedown=null;%7D%7Dvar head=document.getElementsByTagName(%5Cx27head%5Cx27)%5B0%5D;if(head)%7Bvar style=document.createElement(%5Cx27style%5Cx27);style.type=%5Cx27text/css%5Cx27;style.innerHTML=%5Cx22html,*%7B-moz-user-select:auto!important;%7D%5Cx22;head.appendChild(style);%7Dvoid(0);%7D)();"%7D%5D)
最后保存書簽,完成!
以后遇到無法復制文本內容,或者打不開右鍵菜單的網(wǎng)頁。
只要點擊一下這個書簽,限制立馬解除,美滋滋~
這個可以說是最終的、一定能行的方法了。
截圖,然后通過 OCR 在線識別。
推薦使用白描網(wǎng)頁版,免費夠用,也不需要再安裝額外的軟件了。
快捷鍵 Ctrl + P,或者菜單 -> 打印,在打印預覽頁面是沒有復制限制的。
這個方法比較簡單粗暴,手機也可以使用。
點擊瀏覽器菜單,將網(wǎng)頁下載到本地,再打開離線版頁面,就可以直接復制了~
當然了,電腦上也可以這么操作。
網(wǎng)頁另存為 -> 保存類型為“網(wǎng)頁,僅 HTML”,打開后也可以直接復制。
上面這六個解除網(wǎng)頁復制限制的方法都還不錯,基本可以應對大部分有復制和右鍵限制的網(wǎng)站了。
更多的還有 F12 開發(fā)者模式、查看網(wǎng)頁源碼等,不夠簡單就不再介紹了。
當然,效果最好的還是“鈔能力”了~[狗頭]
文鏈接 ==>http://sylblog.xin/archives/70
在敲打自己的個人博客時,在博客的詳情頁,對于不同的內容,我是想有不同的復制方式的。例如代碼塊我就想讀者單擊就可以復制,這樣方便讀者本地調試,而對于文字描述部分,希望可以不允許讀者復制。作為一個堅定的能用CSS絕不上JS的極端份子,我最終找到了CSS3中的user-select。
用來控制用戶是否可以選中文本。全選,部分選中。
在很多時候用戶希望的可能是一次性復制完整的內容,例如一段代碼,密碼,一些key。
user-select:all : 讓用戶可以單擊選中元素。
這里我們演示了三個不同的Html標簽下的效果。
h2 {
user-select: all;
}
code {
user-select: all;
width: 500px;
display: block;
padding: 10px;
color: #31808c;
background-color: #f5f4ef;
}
div {
user-select: all;
}
<h2>點擊試試看</h2>
<pre>
<code>
const num = 1;
const result = (function () {
delete num;
return num;
})();
console.log(result);
</code>
</pre>
<p>
const num = 1; const result = (function () { delete num; return num; })();
console.log(result);
</p>
不過all同樣存在一個令人尷尬的缺點,只要你設定了all,那你就不能選中部分內容。
對于網(wǎng)頁中的元素,可以使用user-select: none; 禁止用戶選中內容。
為啥會有這個說法嗎,對于通常的網(wǎng)頁,我們是可以選擇特定的內容的。例如在下面的頁面中,我們就可以部分選擇內容,
但是這里的標題的部分,主要是指在對立面無法選中的元素。例如html中有這樣一個標簽sup,這個標簽主要是用來給元素添加角標。
<p>我后面有個角標<sup>1</sup>我前面有角標</p>
當你想復制這段文本的時候:我后面有個角標1我前面有角標,這個角標也會被復制下來。
此時我們就需要針對角標設置,這樣設置還可以保證當你p標簽是user-select:all的時候,復制也會忽略角標!
sup {
-webkit-user-select: none;
user-select: none;
}
CSS提供了::selection`偽元素來設置文本選擇的樣式
您可以通過定位::selection偽元素來設置文本選擇的樣式。但是,只有下面的幾個屬性可以設置:
color
background-color
cursor
caret-color
outline and its longhands
text-decoration and its associated properties
text-emphasis-color (en-US)
text-shadow
例如
p::selection {
color: #fffaa5;
background-color: #f38630;
text-shadow: 2px 2px #31808c;
}
選中后的效果如下:
何在網(wǎng)頁中屏蔽右鍵,眾所周知。要保護好一個頁面,最基礎的就是屏蔽右鍵!
實現(xiàn)方法,在body下加上oncontextmenu=self.event.returnValue=false onselectstart="return false"這句話即可,如下:
〈body oncontextmenu=self.event.returnValue=false onselectstart="return false"〉
長按會復制等選項可以使用下述的代碼屏蔽這個功能,將下述的css加到代碼中即可:
*請認真填寫需求信息,我們會在24小時內與您取得聯(lián)系。