js保存剪切板中的截图
来源:deepseek
<!DOCTYPE html>
<html>
<head>
<title>保存截图工具</title>
<style>
body {
font-family: Arial, sans-serif;
max-width: 800px;
margin: 0 auto;
padding: 20px;
}
.container {
border: 2px dashed #ccc;
padding: 20px;
text-align: center;
margin-top: 20px;
cursor: pointer;
}
</style>
</head>
<body>
<h1>截图保存工具</h1>
<p>1. 使用微信或其他截图工具截取屏幕</p>
<p>2. 点击下方区域后按Ctrl+V(Windows)或Command+V(Mac)粘贴</p>
<p>3. 图片将自动下载</p>
<div class="container" id="pasteArea">
点击此处后粘贴截图
</div>
<script>
const pasteArea = document.getElementById('pasteArea');
pasteArea.addEventListener('click', function() {
pasteArea.textContent = '请按Ctrl+V/Command+V粘贴截图...';
// 只添加一次性的监听器
document.addEventListener('paste', handlePaste, { once: true });
});
function handlePaste(event) {
const items = (event.clipboardData || window.clipboardData).items;
for (let i = 0; i < items.length; i++) {
if (items[i].type.indexOf('image') !== -1) {
const blob = items[i].getAsFile();
if (blob) {
saveImage(blob);
alert('截图已保存!');
}
event.preventDefault();
pasteArea.textContent = '截图已处理,如需再次保存请点击此处';
return;
}
}
alert('未检测到图片,请确保已复制截图图像');
pasteArea.textContent = '截图未识别,请点击此处重试';
}
function saveImage(blob) {
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
const now = new Date();
const timestamp = `${now.getFullYear()}${(now.getMonth()+1).toString().padStart(2, '0')}${now.getDate().toString().padStart(2, '0')}_${now.getHours().toString().padStart(2, '0')}${now.getMinutes().toString().padStart(2, '0')}${now.getSeconds().toString().padStart(2, '0')}`;
a.download = `screenshot_${timestamp}.png`;
document.body.appendChild(a);
a.click();
setTimeout(() => {
document.body.removeChild(a);
window.URL.revokeObjectURL(url);
}, 100);
}
</script>
</body>
</html>