使用ctrl + c复制网站数据时,是否可以将自己的信息写入剪贴板?我发现了一些可以清除剪贴板的Javascript - 知道是否有东西可以写入它会很有趣,即用“我们网站的印刷版”这样的内容替换剪贴板中的文字。
function clearData() {
window.clipboardData.setData('text', '')
}
function cldata() {
if (clipboardData) {
clipboardData.clearData();
}
}
setInterval("cldata()", 1000);
<body ondragstart="return false;" onselectstart="return false;" oncontextmenu="return false;" onload="clearData();" onblur="clearData();">
<h1>Example text</h1>
<input type="text">
答案 0 :(得分:2)
你不能完全通过JavaScript来实现。
剪贴板的JavaScript编辑被视为security vulnerability(并且有much more discussion on this)。
你可以通过使用Flash进行与JavaScript交互的剪贴板访问的黑客来实现。
答案 1 :(得分:0)
您可以放置以下内容:
$( document ).ready(function() {
if (event.ctrlKey && event.keyCode == 67) {
var inputFieldClear = document.createElement("input");
inputFieldClear.setAttribute("value", "Insert Default Value Here");
document.body.appendChild(inputFieldClear);
inputFieldClear.select();
document.execCommand('copy');
inputFieldClear.remove();
console.log("Attempting to Alter Clipboard")
}});
这将在TamperMonkey之类的系统中起作用-不确定是否可以将其合并到站点源中。
希望有帮助! :)
答案 2 :(得分:0)
function clearData() {
window.clipboardData.setData('text', '')
}
function cldata() {
if (clipboardData) {
clipboardData.clearData();
}
}
setInterval("cldata()", 1000);
<body ondragstart="return false;" onselectstart="return false;" oncontextmenu="return false;" onload="clearData();" onblur="clearData();">
<h1>Example text</h1>
<input type="text">
答案 3 :(得分:0)
您无法清除剪贴板数据,因为没有该功能。
删除它的最佳方法是分配空值。
即
navigator.clipboard.writeText("");
答案 4 :(得分:-1)
Yes, you can。基本技巧是您检测用户何时按住Control,并在页面上选择不同的文本。