Читатель нарушает Javascript защиту изображений от щелчка правой кнопкой мыши

Я знаю, что защита изображений далеко не надежна. Однако клиенты просят об этом, поэтому у меня есть Javascript на сайте, который предназначен для предотвращения сохранения / загрузки правой кнопкой мыши.

Похоже, что Reader View игнорирует как Javascript, так и CSS сайта. Я попытался добавить {display:none} на основе правила.moz-reader-content (Firefox). Я предполагал, что это так во всех браузерах.

Поиск также не позволил обнаружить читателя.

У кого-нибудь есть предложения или известно решение этой проблемы?

1 ответ

Как вы знаете, не существует полноразмерных решений. Независимо от того, что вы делаете, если он виден, его можно скопировать. (Со скриншотом в крайнем случае).

При этом простое и удивительно эффективное решение состоит в том, чтобы просто наложить каждое изображение на прозрачный файл.png.

<div id="imagecontainer" style="position:relative;">
    <img src="yourimage.png" style="position:absolute;top:0px;left:0px;">
    <img src="transparent-overlay.png" style="position:absolute;top:0px;left:0px;">
</div>

Если щелкнуть правой кнопкой мыши на изображении, то щелкнет наложение, а не само изображение. (Конечно, вы захотите дать оверлею менее очевидное имя).

Кроме того, вы должны сделать водяные знаки на самом изображении.

Чтобы обойти проблемы Reader View (я не уверен, о каком Reader View вы говорите, кстати), вы можете попробовать использовать javascript, чтобы фактически заполнить сами изображения. (Предполагая, что ваш читатель не разрешает просмотр).

например:

var i = document.createElement('img');
var o = document.createElement('img');
i.src = 'yourimage.png';
o.src = 'transparent-overlay.png';
document.getElementById('imagecontainer').appendChild(i);
document.getElementById('imagecontainer').appendChild(o);

В последнем примере с js вам также нужно установить стили CSS для абсолютного положения двух изображений в #imagecontainer.

Другие вопросы по тегам