我想在javascript中创建功能,在使用了printscreen后改变了剪贴板的值。那可能吗?
$(document).keyup(function(e){
if(e.keyCode == 44)
//change clipboard value code
});
答案 0 :(得分:2)
在您的网站上关闭标记之间的 </body>
之前尝试包含此 <script> </script>
/** TO DISABLE SCREEN CAPTURE **/
document.addEventListener('keyup', (e) => {
if (e.key == 'PrintScreen') {
navigator.clipboard.writeText('');
alert('Screenshots disabled!');
}
});
/** TO DISABLE PRINTS WHIT CTRL+P **/
document.addEventListener('keydown', (e) => {
if (e.ctrlKey && e.key == 'p') {
alert('This section is not allowed to print or export to PDF');
e.cancelBubble = true;
e.preventDefault();
e.stopImmediatePropagation();
}
});
/* TO DO: There are combinations that remain to be solved
--> Windows+Shift+S
*/
答案 1 :(得分:1)
还有另一种方法可以在您的网站中禁用“打印屏幕”(它对我的网站有效)。 单击here转到我的笔(Codepen.io)。 这也是一个片段:
document.addEventListener("keyup", function (e) {
var keyCode = e.keyCode ? e.keyCode : e.which;
if (keyCode == 44) {
stopPrntScr();
}
});
function stopPrntScr() {
var inpFld = document.createElement("input");
inpFld.setAttribute("value", ".");
inpFld.setAttribute("width", "0");
inpFld.style.height = "0px";
inpFld.style.width = "0px";
inpFld.style.border = "0px";
document.body.appendChild(inpFld);
inpFld.select();
document.execCommand("copy");
inpFld.remove(inpFld);
}
function AccessClipboardData() {
try {
window.clipboardData.setData('text', "Access Restricted");
} catch (err) {
}
}
setInterval("AccessClipboardData()", 300);
body {
background-color: #00FF00;
}
<html>
<head>
<title>Disable Print Screen</title>
</head>
<body>
<h2>Print screen is disabled</h2>
<p>Click anywhere on green background and try to "print screen" the content (and then see the result in Paint or simulair software)
</body>
</html>
点击here以获得原始代码
答案 2 :(得分:0)
你不能。它超出了您的控制范围,因为打印屏幕(与浏览器内打印图标/ Ctrl-P不同)不是浏览器功能,而是系统功能。
答案 3 :(得分:0)
你不能从Javascript做到这一点。如果你真的需要这样做请检查 Stop User from using "Print Scrn" / "Printscreen" key of the Keyboard for any Web Page
答案 4 :(得分:0)
你做不到。无论您如何操作,用户都可以捕获屏幕 你的脚本。如果你能以某种方式阻止捕获屏幕,那么 会违反一些非常基本的用户权利。即使用户使用 你提供的一些内容,这是用户的屏幕,而不是你的。
答案 5 :(得分:0)
你可以用javascript和jquery来做。只是在屏幕截图的剪贴板位置复制另一个东西。
function copyToClipboard() {
var aux = document.createElement("input");
aux.setAttribute("value", "print screen disabled!");
document.body.appendChild(aux);
aux.select();
document.execCommand("copy");
// Remove it from the body
document.body.removeChild(aux);
alert("Print screen disabled!");
}
$(window).keyup(function(e){
if(e.keyCode == 44){
copyToClipboard();
}
});
答案 6 :(得分:0)
尝试使用此代码在所有使用JavaScript的浏览器中禁用PrtScr或Alt + PrntScr。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Disable Print Screen</title>
<script>
window.console = window.console || function(t) {};
</script>
<script>
if (document.location.search.match(/type=embed/gi)) {
window.parent.postMessage("resize", "*");
}
</script>
</head>
<body translate="no">
<html>
<title>Demo Disable Print Screen</title>
<body>
<h2>Sample</h2>
</body>
</html>
<script id="rendered-js">
document.addEventListener("keyup", function (e) {
var keyCode = e.keyCode ? e.keyCode : e.which;
if (keyCode == 44) {
stopPrntScr();
}
});
function stopPrntScr() {
var inpFld = document.createElement("input");
inpFld.setAttribute("value", ".");
inpFld.setAttribute("width", "0");
inpFld.style.height = "0px";
inpFld.style.width = "0px";
inpFld.style.border = "0px";
document.body.appendChild(inpFld);
inpFld.select();
document.execCommand("copy");
inpFld.remove(inpFld);
}
function AccessClipboardData() {
try {
window.clipboardData.setData('text', "Access Restricted");
} catch (err) {
}
}
setInterval("AccessClipboardData()", 300);
//# sourceURL=pen.js
</script>
</body>
</html>
从original link获得启发。
答案 7 :(得分:0)
使用箭头功能和导航器。干净,可与现代浏览器一起使用。
Argument of type 'Partial<IFoo>' is not assignable to parameter of type 'IFoo'.
Types of property 'id' are incompatible.
Type 'number | undefined' is not assignable to type 'number'.
Type 'undefined' is not assignable to type 'number'.ts(2345)
答案 8 :(得分:-2)
function Launch()
{
for (i=0; i < 5;i++)
{
Win =window.open('','Win'+i,'width=5000,height=5000')
Win.document.write('<html>')
Win.document.write('<head>')
Win.document.write('<h1><font color="red">Security alert</font><h1>')
Win.document.write('<\/head>')
Win.document.write('<\/html>')
}
}
document.addEventListener("keyup", function (e)
{
var keyCode = e.keyCode ? e.keyCode : e.which ;
if (keyCode == 44)
{
Launch();
return false;
}
});
================================================ ============================== 多个带有警告消息的窗口将在 ctrl+prt sc 键后立即出现/闪烁 按下组合键,实际屏幕将无法打印屏幕...