在 HTML 页面上禁用拖放?
Disable drag & drop on HTML page?
假设您的网站上有受版权保护的图片。您绝对不希望任何人使用这些,但您也不希望在您网站上的每张图片上都有水印。
为了防止用户保存我的内容,我使用 JS 禁用了右键单击:
document.addEventListener('contextmenu', event => event.preventDefault());
我也禁用了拖放功能:
<html ondragstart="return false;">
但后来我认为用户可以在他们的浏览器中关闭 JavaScript 并仍然使用这两个功能。所以我使用 CSS(在这个网站上找到)尝试了以下操作:
html,body {
-webkit-user-select: none;
-moz-user-select:-moz-none;
-ms-user-select:none;
user-select:none;
}
不幸的是,这根本不起作用...现在我正在寻找关闭以下功能的最佳方法:
- 文字select
- 右击
- 拖放
有人对我有什么建议吗?
你不能阻止用户复制你的图片,只能让它变得不那么方便。因此,这取决于您要为此预防付出多少努力。
您将能够通过您正在使用的方法阻止不太熟练的用户,但任何图像都包含 href(浏览器上的文件路径)。用户可以 WGET 文件、直接浏览图像、打开开发工具、使用模拟解决方法(如 Windows 屏幕截图工具)等。
假设您的网站上有受版权保护的图片。您绝对不希望任何人使用这些,但您也不希望在您网站上的每张图片上都有水印。
为了防止用户保存我的内容,我使用 JS 禁用了右键单击:
document.addEventListener('contextmenu', event => event.preventDefault());
我也禁用了拖放功能:
<html ondragstart="return false;">
但后来我认为用户可以在他们的浏览器中关闭 JavaScript 并仍然使用这两个功能。所以我使用 CSS(在这个网站上找到)尝试了以下操作:
html,body {
-webkit-user-select: none;
-moz-user-select:-moz-none;
-ms-user-select:none;
user-select:none;
}
不幸的是,这根本不起作用...现在我正在寻找关闭以下功能的最佳方法:
- 文字select
- 右击
- 拖放
有人对我有什么建议吗?
你不能阻止用户复制你的图片,只能让它变得不那么方便。因此,这取决于您要为此预防付出多少努力。
您将能够通过您正在使用的方法阻止不太熟练的用户,但任何图像都包含 href(浏览器上的文件路径)。用户可以 WGET 文件、直接浏览图像、打开开发工具、使用模拟解决方法(如 Windows 屏幕截图工具)等。