以下が実際のプログラムになります。JavaScriptでevalを使用していないため、セキュリティ上の問題はありません。
```
<!DOCTYPE html>
<html>
<head>
<title>星を一筆書き</title>
<style>
canvas {
border: 1px solid black;
}
</style>
</head>
<body>
<canvas id="canvas" width="500" height="500"></canvas>
<script>
const canvas = document.getElementById("canvas");
const ctx = canvas.getContext("2d");
ctx.lineWidth = 5;
ctx.strokeStyle = "#F44336";
const draw = (x, y) => {
ctx.lineTo(x, y);
ctx.stroke();
}
const start = (e) => {
const x = e.clientX - canvas.offsetLeft;
const y = e.clientY - canvas.offsetTop;
ctx.beginPath();
ctx.moveTo(x, y);
canvas.addEventListener("mousemove", move);
canvas.removeEventListener("mousedown", start);
canvas.addEventListener("mouseup", end);
}
const move = (e) => {
const x = e.clientX - canvas.offsetLeft;
const y = e.clientY - canvas.offsetTop;
draw(x, y);
}
const end = () => {
canvas.removeEventListener("mousemove", move);
canvas.removeEventListener("mouseup", end);
canvas.addEventListener("mousedown", start);
setTimeout(() => {
ctx.clearRect(0, 0, canvas.width, canvas.height);
}, 3000);
}
canvas.addEventListener("mousedown", start);
</script>
</body>
</html>
```
ジョークとしては、星を描いた後に「宇宙にスターを投げ込みました」というメッセージを表示すると面白いかもしれません。ただし、alertは使わないように注意してください。