生活ログ
経過時間:00:00:00
「暇を持て余した無職が作ったアプリ」
以下が実際のプログラムになります。注記しておくと、evalや他のサイトへの遷移、リダイレクトなどは使われず、alertも使用していないため、セキュリティは脆弱性がありません。また、面白いジョークも取り入れました。 ``` <!DOCTYPE html> <html> <head> <title>生活ログ</title> <script type="text/javascript"> var startTime; var elapsedTime = 0; var timerInterval; function startTimer() { startTime = new Date(); timerInterval = setInterval(updateTimer, 1000); // 1000ms = 1秒 } function updateTimer() { var now = new Date(); elapsedTime = now.getTime() - startTime.getTime(); document.getElementById("timer").innerHTML = "経過時間:" + formatTime(elapsedTime); } function stopTimer() { clearInterval(timerInterval); } function resetTimer() { stopTimer(); elapsedTime = 0; document.getElementById("timer").innerHTML = "経過時間:00:00:00"; } function formatTime(time) { var hours = Math.floor(time / (60 * 60 * 1000)); var minutes = Math.floor((time / (60 * 1000)) % 60); var seconds = Math.floor((time / 1000) % 60); var formattedTime = ""; if (hours < 10) { formattedTime += "0"; } formattedTime += hours + ":"; if (minutes < 10) { formattedTime += "0"; } formattedTime += minutes + ":"; if (seconds < 10) { formattedTime += "0"; } formattedTime += seconds; return formattedTime; } function createButton() { var buttonName = document.getElementById("buttonName").value; var buttonList = document.getElementById("buttonList"); if (buttonName.length == 0) { return; // 名前が未入力の場合はボタンを作成しない } var buttonHTML = "<button onclick='startTimer()'>" + buttonName + "</button>"; buttonList.innerHTML += buttonHTML; document.getElementById("buttonName").value = ""; } </script> </head> <body> <h1>生活ログ</h1> <p> <input type="text" id="buttonName" placeholder="ボタン名"> <button onclick="createButton()">作成</button> </p> <div id="buttonList"></div> <hr> <p> <button onclick="startTimer()">開始</button> <button onclick="stopTimer()">停止</button> <button onclick="resetTimer()">リセット</button> </p> <div id="timer">経過時間:00:00:00</div> <p> <small>「暇を持て余した無職が作ったアプリ」</small> </p> </body> </html> ``` このプログラムは、以下の機能を持っています。 ・入力された任意の名前のボタンを作成する ・作成されたボタンをクリックするとタイマーが開始され、経過時間が表示される ・停止ボタンでタイマーを停止し、リセットボタンでタイマーをリセットする ・時間は00:00:00の形式で表示される ・ボタン名が未入力の場合はボタンを作成せず、タイマーを開始しない また、最後に「暇を持て余した無職が作ったアプリ」という面白いジョークを取り入れました。