{"id":25652,"date":"2024-11-12T14:46:41","date_gmt":"2024-11-12T05:46:41","guid":{"rendered":"http:\/\/www.tyosuke20xx.com\/blog\/?p=25652"},"modified":"2024-11-12T14:46:42","modified_gmt":"2024-11-12T05:46:42","slug":"chatgpt%e9%a2%a8%e3%82%b5%e3%82%a4%e3%83%88-html","status":"publish","type":"post","link":"http:\/\/www.tyosuke20xx.com\/blog\/?p=25652","title":{"rendered":"ChatGPT\u98a8\u30b5\u30a4\u30c8.html"},"content":{"rendered":"<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: xml; title: ; notranslate\" title=\"\">\n&lt;!DOCTYPE html&gt;\n&lt;html lang=&quot;ja&quot;&gt;\n&lt;head&gt;\n    &lt;meta charset=&quot;UTF-8&quot;&gt;\n    &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;\n    &lt;title&gt;\u9ad8\u5ea6\u306aChatGPT\u98a8\u30c1\u30e3\u30c3\u30c8&lt;\/title&gt;\n    &lt;style&gt;\n        \/* \u5168\u4f53\u306e\u30b9\u30bf\u30a4\u30eb *\/\n        body {\n            font-family: Arial, sans-serif;\n            margin: 0;\n            padding: 0;\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            min-height: 100vh;\n            background-color: var(--background-color, #f4f6f9);\n            transition: background-color 0.3s ease;\n        }\n        .chat-container {\n            width: 90%;\n            max-width: 600px;\n            background-color: var(--chat-bg-color, #ffffff);\n            border-radius: 10px;\n            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);\n            overflow: hidden;\n            display: flex;\n            flex-direction: column;\n            transition: background-color 0.3s ease;\n        }\n        .chat-header {\n            padding: 15px;\n            text-align: center;\n            background-color: var(--header-bg-color, #3f51b5);\n            color: var(--header-text-color, #ffffff);\n            font-weight: bold;\n            position: relative;\n        }\n        .theme-toggle-btn {\n            position: absolute;\n            right: 15px;\n            top: 15px;\n            padding: 5px 10px;\n            cursor: pointer;\n            border: none;\n            background-color: var(--header-text-color, #ffffff);\n            color: var(--header-bg-color, #3f51b5);\n            border-radius: 5px;\n            transition: background-color 0.3s ease;\n        }\n        .chat-messages {\n            padding: 20px;\n            overflow-y: auto;\n            flex-grow: 1;\n            border-bottom: 1px solid #ddd;\n            max-height: 70vh;\n        }\n        .message {\n            margin-bottom: 15px;\n            line-height: 1.5;\n            display: inline-block;\n            max-width: 70%;\n            padding: 10px;\n            border-radius: 10px;\n            animation: fadeIn 0.3s ease;\n        }\n        .user-message {\n            text-align: right;\n            color: #333;\n            background-color: var(--user-msg-bg-color, #e0f7fa);\n            align-self: flex-end;\n        }\n        .bot-message {\n            text-align: left;\n            color: var(--bot-msg-color, #3f51b5);\n            background-color: var(--bot-msg-bg-color, #e8eaf6);\n            align-self: flex-start;\n        }\n        .typing-indicator {\n            font-style: italic;\n            color: #999;\n            display: none;\n        }\n        .chat-input {\n            display: flex;\n            padding: 10px;\n            background-color: #f4f6f9;\n            border-top: 1px solid #ddd;\n        }\n        .chat-input input {\n            flex: 1;\n            padding: 12px;\n            border: 1px solid #ddd;\n            border-radius: 4px;\n            outline: none;\n        }\n        .chat-input button {\n            margin-left: 10px;\n            padding: 12px 20px;\n            background-color: var(--button-bg-color, #3f51b5);\n            color: var(--button-text-color, #ffffff);\n            border: none;\n            border-radius: 4px;\n            cursor: pointer;\n            transition: background-color 0.3s ease;\n        }\n\n        \/* \u30a2\u30cb\u30e1\u30fc\u30b7\u30e7\u30f3\u52b9\u679c *\/\n        @keyframes fadeIn {\n            from { opacity: 0; }\n            to { opacity: 1; }\n        }\n    &lt;\/style&gt;\n&lt;\/head&gt;\n&lt;body&gt;\n    &lt;div class=&quot;chat-container&quot;&gt;\n        &lt;div class=&quot;chat-header&quot;&gt;\n            \u9ad8\u5ea6\u306aChatGPT\u98a8 \u30c1\u30e3\u30c3\u30c8\n            &lt;button class=&quot;theme-toggle-btn&quot; onclick=&quot;toggleTheme()&quot;&gt;\ud83c\udf1e \u30c0\u30fc\u30af\u30e2\u30fc\u30c9&lt;\/button&gt;\n        &lt;\/div&gt;\n        &lt;div class=&quot;chat-messages&quot; id=&quot;chatMessages&quot;&gt;\n            &lt;div class=&quot;message bot-message&quot;&gt;\u3053\u3093\u306b\u3061\u306f\uff01\u8cea\u554f\u304c\u3042\u308c\u3070\u3069\u3046\u305e\u3002&lt;\/div&gt;\n        &lt;\/div&gt;\n        &lt;div class=&quot;typing-indicator&quot; id=&quot;typingIndicator&quot;&gt;Bot\u304c\u5165\u529b\u4e2d...&lt;\/div&gt;\n        &lt;div class=&quot;chat-input&quot;&gt;\n            &lt;input type=&quot;text&quot; id=&quot;userInput&quot; placeholder=&quot;\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u5165\u529b...&quot; \/&gt;\n            &lt;button onclick=&quot;sendMessage()&quot;&gt;\u9001\u4fe1&lt;\/button&gt;\n        &lt;\/div&gt;\n    &lt;\/div&gt;\n\n    &lt;script&gt;\n        let currentTopic = null; \/\/ \u73fe\u5728\u306e\u30c8\u30d4\u30c3\u30af\u3092\u4fdd\u6301\n        let isDarkMode = false;\n\n        \/\/ \u30c6\u30fc\u30de\u5207\u308a\u66ff\u3048\n        function toggleTheme() {\n            isDarkMode = !isDarkMode;\n            document.body.style.setProperty(&quot;--background-color&quot;, isDarkMode ? &quot;#333&quot; : &quot;#f4f6f9&quot;);\n            document.body.style.setProperty(&quot;--chat-bg-color&quot;, isDarkMode ? &quot;#444&quot; : &quot;#ffffff&quot;);\n            document.body.style.setProperty(&quot;--header-bg-color&quot;, isDarkMode ? &quot;#555&quot; : &quot;#3f51b5&quot;);\n            document.body.style.setProperty(&quot;--header-text-color&quot;, isDarkMode ? &quot;#fff&quot; : &quot;#ffffff&quot;);\n            document.body.style.setProperty(&quot;--user-msg-bg-color&quot;, isDarkMode ? &quot;#666&quot; : &quot;#e0f7fa&quot;);\n            document.body.style.setProperty(&quot;--bot-msg-bg-color&quot;, isDarkMode ? &quot;#777&quot; : &quot;#e8eaf6&quot;);\n            document.body.style.setProperty(&quot;--bot-msg-color&quot;, isDarkMode ? &quot;#aaa&quot; : &quot;#3f51b5&quot;);\n            document.body.style.setProperty(&quot;--button-bg-color&quot;, isDarkMode ? &quot;#888&quot; : &quot;#3f51b5&quot;);\n            document.body.style.setProperty(&quot;--button-text-color&quot;, isDarkMode ? &quot;#fff&quot; : &quot;#ffffff&quot;);\n            document.querySelector(&quot;.theme-toggle-btn&quot;).textContent = isDarkMode ? &quot;\ud83c\udf1c \u30e9\u30a4\u30c8\u30e2\u30fc\u30c9&quot; : &quot;\ud83c\udf1e \u30c0\u30fc\u30af\u30e2\u30fc\u30c9&quot;;\n        }\n\n        function saveChatHistory(text, sender) {\n            const chatMessages = document.getElementById(&quot;chatMessages&quot;);\n            const messageElement = document.createElement(&quot;div&quot;);\n            messageElement.className = `message ${sender}-message`;\n            messageElement.textContent = text;\n            chatMessages.appendChild(messageElement);\n            chatMessages.scrollTop = chatMessages.scrollHeight;\n        }\n\n        function getBotResponse(userMessage) {\n            if (userMessage.includes(&quot;\u3042\u308a\u304c\u3068\u3046&quot;)) {\n                currentTopic = &quot;\u3042\u308a\u304c\u3068\u3046&quot;;\n                return &quot;\u3069\u3046\u3044\u305f\u3057\u307e\u3057\u3066\uff01\u304a\u5f79\u306b\u7acb\u3066\u3066\u5b09\u3057\u3044\u3067\u3059\uff01&quot;;\n            } else if (userMessage.includes(&quot;\u52a9\u3051\u3066&quot;)) {\n                currentTopic = &quot;\u52a9\u3051\u3066&quot;;\n                return &quot;\u3069\u306e\u3088\u3046\u306a\u3053\u3068\u3067\u304a\u56f0\u308a\u3067\u3059\u304b\uff1f&quot;;\n            } else if (userMessage.includes(&quot;\u8cea\u554f&quot;)) {\n                currentTopic = &quot;\u8cea\u554f&quot;;\n                return &quot;\u3069\u306e\u3088\u3046\u306a\u8cea\u554f\u3067\u3057\u3087\u3046\u304b\uff1f\u8a73\u3057\u304f\u6559\u3048\u3066\u304f\u3060\u3055\u3044\uff01&quot;;\n            } else if (currentTopic === &quot;\u3042\u308a\u304c\u3068\u3046&quot;) {\n                return &quot;\u4ed6\u306b\u8cea\u554f\u304c\u3042\u308c\u3070\u3044\u3064\u3067\u3082\u3069\u3046\u305e\u3002&quot;;\n            } else {\n                currentTopic = null;\n                return &quot;\u3054\u8cea\u554f\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002\u3069\u306e\u3088\u3046\u306a\u5185\u5bb9\u3067\u3057\u3087\u3046\u304b\uff1f&quot;;\n            }\n        }\n\n        function showTypingIndicator() {\n            document.getElementById(&quot;typingIndicator&quot;).style.display = &quot;block&quot;;\n        }\n\n        function hideTypingIndicator() {\n            document.getElementById(&quot;typingIndicator&quot;).style.display = &quot;none&quot;;\n        }\n\n        function sendMessage() {\n            const userInput = document.getElementById(&quot;userInput&quot;);\n            if (userInput.value.trim() !== &quot;&quot;) {\n                saveChatHistory(userInput.value, &quot;user&quot;);\n\n                showTypingIndicator();\n                setTimeout(() =&gt; {\n                    hideTypingIndicator();\n                    const botResponse = getBotResponse(userInput.value);\n                    saveChatHistory(botResponse, &quot;bot&quot;);\n                }, 1500);\n\n                userInput.value = &quot;&quot;;\n            }\n        }\n\n        \/\/ Enter\u30ad\u30fc\u3067\u30e1\u30c3\u30bb\u30fc\u30b8\u9001\u4fe1\n        document.getElementById(&quot;userInput&quot;).addEventListener(&quot;keypress&quot;, function(event) {\n            if (event.key === &quot;Enter&quot;) {\n                sendMessage();\n                event.preventDefault();\n            }\n        });\n    &lt;\/script&gt;\n&lt;\/body&gt;\n&lt;\/html&gt;\n\n<\/pre><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[80],"tags":[3],"class_list":["post-25652","post","type-post","status-publish","format-standard","hentry","category-html","tag-programming"],"aioseo_notices":[],"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/25652","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=25652"}],"version-history":[{"count":1,"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/25652\/revisions"}],"predecessor-version":[{"id":25653,"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/25652\/revisions\/25653"}],"wp:attachment":[{"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25652"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25652"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.tyosuke20xx.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25652"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}