網站如何禁止複製文字

網頁防複製常見的做法有四種:用 CSS 規則(user-select: none)關閉文字選取、用指令碼取消複製和貼上事件、 用指令碼取消右鍵選單,以及在文字上方蓋一層透明圖層。這些做法都只在瀏覽器內有效, 所以閱讀模式、列印、網頁原始碼或解除複製的擴充功能都能繞過它們。

加到 Chrome

免費試用 52 種語言

1. 用 CSS 關閉選取

只要一條樣式規則 user-select: none,就能讓瀏覽器不允許你選取某個元素中的文字。 拖曳時不會出現任何反白。但文字仍然在網頁上:閱讀模式、列印成 PDF, 或能移除這條規則的擴充功能,都能恢復選取。

2. 取消複製、剪下和貼上事件

指令碼會監聽複製、剪下或貼上事件並將它取消。你可以選取文字,但按 Ctrl+C 什麼也複製不到, 或者網站會把你的剪貼簿內容換成「閱讀全文請至…」之類的文字。為該網站封鎖 JavaScript 或使用解除複製的擴充功能就能解決。同樣的手法也會在某些表單中封鎖貼上,例如「再次輸入電子郵件」欄位。

3. 取消右鍵

指令碼會取消 contextmenu 事件,讓 Chrome 的選單永遠打不開,常常還會跳出「已停用右鍵」之類的提示。 請參閱如何恢復右鍵。

4. 透明覆蓋圖層

一個看不見的元素蓋在文字上,所以你點擊時點到的是覆蓋圖層,而不是文字。 閱讀模式和網頁原始碼都不受覆蓋圖層影響。

5. 不是文字的文字

有些網頁會把文字做成圖片、放在 canvas 中,或放在影片裡。解除複製的方法在這裡都沒用, 因為根本沒有文字可以複製。請使用 Image Text to Text 這類文字辨識工具。

實際的解決辦法

如果你常遇到禁止複製的網頁,Highlight and Copy Protected Text 只要一個開關,就能關閉第 1~3 種技術。其他情況請參考 如何從受保護的網站複製文字。

常見問題

防複製能阻止別人複製我的內容嗎?

其實不太能。它能擋住用滑鼠隨手複製,但文字仍然在網頁裡,透過閱讀模式、網頁原始碼或擴充功能都能讀取。真正保護文字的是著作權,而不是指令碼。

防複製對無障礙有影響嗎?

可能有。封鎖選取會讓依賴選取文字的翻譯工具、字典或輔助工具使用者更難操作。

防複製會影響 SEO 嗎?

禁止複製的指令碼並不會阻止搜尋引擎讀取文字,所以它既擋不住爬蟲抓取內容,通常也不會直接影響排名。

更新日期: