網站如何阻止選擇文字以及如何取消封鎖?

網站如何阻止選擇文字以及如何取消封鎖?

有一個網站(例子)以某種方式阻止選擇文字。它還阻止Ctrl+A選擇所有內容,彈出式選單中也沒有“複製”。

我嘗試過的:

有些網站使用 JavaScript 來阻止選擇。所以我在 Firefox 的 no-script 插件中禁用了所有 JavaScript 來源。我在 Google Chrome 中使用 Script Safe 插件嘗試了同一網站。確保一切都被阻止,但仍然無法選擇文字。在整個網站上,滑鼠指標仍然是箭頭而不是文字遊標。

用於about:config在 Firefox 中完全停用 JavaScript。還是沒有效果。

我讀到有些網站使用帶有 display:block 樣式的 DIV,因此我使用 Inspect 來檢查網站的樣式。整個網站上沒有提到“塊”,無論是在嵌入式 CSS 中還是在物件 style=-attributes 中。

文字不是圖像、Flash 或某些 HTML5 畫布等。一切都在 DIV 和 P 標籤內,但沒有找到可能阻止文字選擇的樣式。

該網站如何仍然阻止任何文字選擇?更不用說為什麼瀏覽器支援這種行為了。我只想使用選定的單字或句子,並想使用滑鼠右鍵點擊谷歌搜尋它。當網站做這樣的事情並迫使我手動在谷歌中輸入技術術語和名稱時,這是非常煩人的。它擾亂了我的工作流程。

答案1

https://www.angst-panik-hilfe.de/angst-panik.css顯示:

body{-webkit-user-select:none;-moz-user-select:-moz-none;
-ms-user-select:none;user-select:none}

因此,此效果適用於整個 BODY 標記。

有關此 CSS 的文檔:Mozilla 開發者網站:使用者選擇

您可以透過刪除開發工具中的樣式(F12在 Firefox 或 Chrome 中按)來覆蓋此設定 - 您甚至可以創建一個 JavaScript 小程序,在投入時間進行設定後,可以輕鬆刪除該樣式您的部分(如果您計劃多次訪問該網站,這可能會節省時間)。

我還想添加以下註釋:這可能不是至少產生部分效果的唯一方法。另一種可能的方法是使用帶有文字的隱形DIV封面。DIV這樣,滑鼠遊標就不會變成 I 形遊標(文字遊標),因為遊標將基於最頂部DIV. (Ctrl-A不過,可能會涵蓋該文本。)

當網站做這樣的事情並迫使我手動在谷歌中輸入技術術語和名稱時,這是非常煩人的。它擾亂了我的工作流程。

阿門!看到這一點,我對主流瀏覽器實現的這種 CSS 樣式的存在感到失望。這樣的事情確實很煩!

答案2

如前所述,user-select: none頁面 CSS 中的設定會停用頁面上的文字選擇。刪除該文字選擇區塊的最簡單方法是透過使用者腳本(如下所示)覆蓋該設定:

// ==UserScript==
// @name         Force Select
// @version      1.0
// @description  Stop sites from disabling selection of text
// @author       You
// @match        *://*/*
// @grant        none
// ==/UserScript==

(function() {
  'use strict';

  let style = document.createElement('style');
  style.innerHTML = '*{ user-select: auto !important; }';

  document.body.appendChild(style);
})();

筆記:如果啟用,這將適用於每個頁面,但這可能不適合所有情況。

該腳本可以使用使用者腳本管理器安裝並輕鬆開啟/關閉,例如暴力猴子,搗固猴, 或者油猴

答案3

解決此問題的最簡單方法是使用書籤:

  1. 在瀏覽器中建立一個新書籤。
  2. 例如,將其命名為“啟用選擇”(不含引號)或您喜歡的任何名稱。
  3. 在位置文字方塊中貼上以下程式碼:
javascript:(function(){var style=document.createElement('style');
style.innerHTML='*{user-select: auto !important;} ::selection{background-color: blue !important; color: white !important}';
document.body.appendChild(style);
document.body.onselectstart=function(){return true};
document.body.onmousedown=function(){return true};
document.onkeydown=function(){return true};
})();

因此,每當您想在某些煩人的網站上啟用文字選擇時,只需單擊此書籤即可。

這段程式碼處理了最常見的基於 CSS 和 JavaScript 的方法,這些方法被混蛋用來禁用其網站上的文字選擇。儘管一些不太常見的方法可能需要對程式碼進行一些額外的調整。

答案4

開啟開發人員工具 (F12),切換到 Elements 選項卡,然後取消選取下面的 CSS 規則身體:

  • 用戶選擇:無;
  • webkit-用戶選擇:無;

示範圖片

相關內容