{"id":8,"date":"2026-03-09T08:18:20","date_gmt":"2026-03-08T23:18:20","guid":{"rendered":"https:\/\/www.keiziban.ai-blog.fun\/?p=8"},"modified":"2026-03-09T08:18:23","modified_gmt":"2026-03-08T23:18:23","slug":"%e3%83%86%e3%82%b9%e3%83%88","status":"publish","type":"post","link":"https:\/\/www.keiziban.ai-blog.fun\/?p=8","title":{"rendered":"\u30c6\u30b9\u30c8"},"content":{"rendered":"\n\n\n\n    <div class=\"code-board-wrap\" id=\"cb-8\">\n\n        <!-- \u6295\u7a3f\u30ea\u30b9\u30c8 -->\n        <div class=\"code-board-list-area\">\n            <ul class=\"code-board-list\"><li class=\"code-board-item\">\n                <span class=\"code-board-rank\">\ud83e\udd47<\/span>\n                <span class=\"code-board-code\" data-code=\"aaaaaa\">aaaaaa<\/span>\n                <span class=\"code-board-meta\">3\/9 08:18<\/span>\n                <button class=\"code-board-copy-btn\" data-copy=\"aaaaaa\" aria-label=\"\u30b3\u30fc\u30c9\u3092\u30b3\u30d4\u30fc\">\u30b3\u30d4\u30fc<\/button>\n            <\/li><\/ul>        <\/div>\n\n        <!-- \u6295\u7a3f\u30d5\u30a9\u30fc\u30e0 -->\n        <div class=\"code-board-form-wrap\">\n            <p class=\"code-board-form-title\">\ud83d\udce8 \u3042\u306a\u305f\u306e\u7d39\u4ecb\u30b3\u30fc\u30c9\u3092\u6295\u7a3f\u3059\u308b<\/p>\n            <div class=\"code-board-form-row\">\n                <input\n                    type=\"text\"\n                    class=\"code-board-input\"\n                    placeholder=\"\u4f8b: ABC-123XYZ\"\n                    maxlength=\"64\"\n                    autocomplete=\"off\"\n                    spellcheck=\"false\"\n                    aria-label=\"\u7d39\u4ecb\u30b3\u30fc\u30c9\u5165\u529b\"\n                \/>\n                <button class=\"code-board-submit-btn\" type=\"button\">\u6295\u7a3f\u3059\u308b<\/button>\n            <\/div>\n            <div class=\"code-board-notice\" role=\"status\" aria-live=\"polite\"><\/div>\n            <p class=\"code-board-hint\">\u203b \u82f1\u6570\u5b57\u30fb\u8a18\u53f7\u306e\u307f\u3001\u6700\u592764\u6587\u5b57\u3002\u6700\u65b03\u4ef6\u306e\u307f\u8868\u793a\u3055\u308c\u307e\u3059\u3002<\/p>\n        <\/div>\n\n    <\/div>\n\n    <script>\n    (function() {\n        'use strict';\n\n        var boardId  = \"cb-8\";\n        var postId   = 8;\n        var nonce    = \"8e179bf431\";\n        var ajaxUrl  = \"https:\\\/\\\/www.keiziban.ai-blog.fun\\\/wp-admin\\\/admin-ajax.php\";\n\n        var wrap       = document.getElementById( boardId );\n        if ( ! wrap ) return;\n\n        var listArea   = wrap.querySelector( '.code-board-list-area' );\n        var input      = wrap.querySelector( '.code-board-input' );\n        var submitBtn  = wrap.querySelector( '.code-board-submit-btn' );\n        var notice     = wrap.querySelector( '.code-board-notice' );\n\n        \/\/ --- \u30b3\u30d4\u30fc\u30dc\u30bf\u30f3\u51e6\u7406\uff08\u30a4\u30d9\u30f3\u30c8\u59d4\u8b72\uff09---\n        listArea.addEventListener( 'click', function( e ) {\n            var btn = e.target.closest( '.code-board-copy-btn' );\n            if ( ! btn ) return;\n            var code = btn.getAttribute( 'data-copy' ) || '';\n            if ( ! code ) return;\n\n            if ( navigator.clipboard && navigator.clipboard.writeText ) {\n                navigator.clipboard.writeText( code ).then( function() {\n                    flashCopied( btn );\n                } ).catch( function() {\n                    fallbackCopy( code, btn );\n                } );\n            } else {\n                fallbackCopy( code, btn );\n            }\n        } );\n\n        function flashCopied( btn ) {\n            var orig = btn.textContent;\n            btn.textContent = '\u2713 \u30b3\u30d4\u30fc\u6e08';\n            btn.classList.add( 'copied' );\n            setTimeout( function() {\n                btn.textContent = orig;\n                btn.classList.remove( 'copied' );\n            }, 2000 );\n        }\n\n        function fallbackCopy( text, btn ) {\n            var ta = document.createElement( 'textarea' );\n            ta.value = text;\n            ta.style.cssText = 'position:fixed;top:-9999px;left:-9999px;opacity:0;';\n            document.body.appendChild( ta );\n            ta.select();\n            try {\n                document.execCommand( 'copy' );\n                flashCopied( btn );\n            } catch ( err ) {\n                showNotice( '\u30b3\u30d4\u30fc\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002\u624b\u52d5\u3067\u30b3\u30d4\u30fc\u3057\u3066\u304f\u3060\u3055\u3044\u3002', 'error' );\n            }\n            document.body.removeChild( ta );\n        }\n\n        \/\/ --- \u6295\u7a3f\u51e6\u7406 ---\n        submitBtn.addEventListener( 'click', function() {\n            doSubmit();\n        } );\n\n        input.addEventListener( 'keydown', function( e ) {\n            if ( e.key === 'Enter' ) {\n                e.preventDefault();\n                doSubmit();\n            }\n        } );\n\n        function doSubmit() {\n            var code = input.value.trim();\n            if ( ! code ) {\n                showNotice( '\u30b3\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044\u3002', 'error' );\n                input.focus();\n                return;\n            }\n\n            submitBtn.disabled = true;\n            submitBtn.textContent = '\u9001\u4fe1\u4e2d\u2026';\n            clearNotice();\n\n            var body = new URLSearchParams();\n            body.append( 'action',  'code_board_submit' );\n            body.append( 'nonce',   nonce );\n            body.append( 'post_id', postId );\n            body.append( 'code',    code );\n\n            fetch( ajaxUrl, {\n                method:      'POST',\n                credentials: 'same-origin',\n                headers:     { 'Content-Type': 'application\/x-www-form-urlencoded' },\n                body:        body.toString(),\n            } )\n            .then( function( r ) { return r.json(); } )\n            .then( function( data ) {\n                submitBtn.disabled    = false;\n                submitBtn.textContent = '\u6295\u7a3f\u3059\u308b';\n\n                if ( data.success ) {\n                    input.value = '';\n                    listArea.innerHTML = data.data.html;\n                    showNotice( data.data.message, 'success' );\n                } else {\n                    var msg = ( data.data && data.data.message ) ? data.data.message : '\u6295\u7a3f\u306b\u5931\u6557\u3057\u307e\u3057\u305f\u3002';\n                    showNotice( msg, 'error' );\n                }\n            } )\n            .catch( function( err ) {\n                submitBtn.disabled    = false;\n                submitBtn.textContent = '\u6295\u7a3f\u3059\u308b';\n                showNotice( '\u901a\u4fe1\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u30da\u30fc\u30b8\u3092\u518d\u8aad\u307f\u8fbc\u307f\u3057\u3066\u304f\u3060\u3055\u3044\u3002', 'error' );\n            } );\n        }\n\n        function showNotice( msg, type ) {\n            notice.textContent  = msg;\n            notice.className    = 'code-board-notice ' + type;\n            notice.style.display = 'block';\n            if ( type === 'success' ) {\n                setTimeout( clearNotice, 5000 );\n            }\n        }\n\n        function clearNotice() {\n            notice.textContent  = '';\n            notice.className    = 'code-board-notice';\n            notice.style.display = 'none';\n        }\n\n    })();\n    <\/script>\n    \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-8","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.keiziban.ai-blog.fun\/index.php?rest_route=\/wp\/v2\/posts\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.keiziban.ai-blog.fun\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.keiziban.ai-blog.fun\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.keiziban.ai-blog.fun\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.keiziban.ai-blog.fun\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8"}],"version-history":[{"count":1,"href":"https:\/\/www.keiziban.ai-blog.fun\/index.php?rest_route=\/wp\/v2\/posts\/8\/revisions"}],"predecessor-version":[{"id":9,"href":"https:\/\/www.keiziban.ai-blog.fun\/index.php?rest_route=\/wp\/v2\/posts\/8\/revisions\/9"}],"wp:attachment":[{"href":"https:\/\/www.keiziban.ai-blog.fun\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.keiziban.ai-blog.fun\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.keiziban.ai-blog.fun\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}