{"id":654,"date":"2026-05-17T23:30:02","date_gmt":"2026-05-17T15:30:02","guid":{"rendered":"https:\/\/www.jhcis.idv.tw\/jan\/?p=654"},"modified":"2026-05-19T12:47:29","modified_gmt":"2026-05-19T04:47:29","slug":"%e3%80%90%e7%a7%98%e5%a2%83%e5%b7%a1%e7%a6%ae%e3%83%bb%e9%87%91%e9%87%9d%e6%bc%ab%e6%ad%a5%e3%80%91","status":"publish","type":"post","link":"https:\/\/www.jhcis.idv.tw\/jan\/?p=654","title":{"rendered":"\u3010\u79d8\u5883\u5de1\u79ae\u30fb\u91d1\u91dd\u6f2b\u6b65\u3011"},"content":{"rendered":"\n<figure class=\"wp-block-video\"><video autoplay controls loop muted poster=\"https:\/\/www.jhcis.idv.tw\/jan\/wp-content\/uploads\/2026\/05\/1779031760522.png\" src=\"\/video\/\u5f71\u7247\/\u5f71\u97f3\u5eab\/2026\/20260517.\u200b\u3010\u79d8\u5883\u5de1\u79ae\u30fb\u91d1\u91dd\u6f2b\u6b65\u3011\/20260517.\u200b\u3010\u79d8\u5883\u5de1\u79ae\u30fb\u91d1\u91dd\u6f2b\u6b65\u3011\u77f3\u9580\u6e56\u5149\u8207\u6cf0\u5b89\u7af9\u6797\u4e4b\u7d04.mp4\" playsinline><\/video><\/figure>\n\n\n\n<!-- \u9032\u5ea6\u689d\u6309\u9215 -->\n<button id=\"downloadBtn\" style=\"display: inline-block; padding: 10px 20px; background-color: #007bff; color: white; border: none; border-radius: 5px; font-weight: bold; cursor: pointer; min-width: 150px; text-align: center;\">\n  \u4e0b\u8f09\u5f71\u7247\n<\/button>\n\n<script>\ndocument.getElementById('downloadBtn').addEventListener('click', async function() {\n    const videoUrl = '\/video\/\u5f71\u7247\/\u5f71\u97f3\u5eab\/2026\/20260517.\u200b\u3010\u79d8\u5883\u5de1\u79ae\u30fb\u91d1\u91dd\u6f2b\u6b65\u3011\/20260517.\u200b\u3010\u79d8\u5883\u5de1\u79ae\u30fb\u91d1\u91dd\u6f2b\u6b65\u3011\u77f3\u9580\u6e56\u5149\u8207\u6cf0\u5b89\u7af9\u6797\u4e4b\u7d04.mp4'; \/\/ \ud83d\udc48 \u8acb\u5728\u9019\u88e1\u8f38\u5165\u60a8\u7684 MP4 \u5f71\u7247\u7db2\u5740\n    const button = this;\n    \n    \/\/ 1. \u521d\u59cb\u5316\u6309\u9215\u72c0\u614b\n    button.disabled = true;\n    button.style.backgroundColor = '#6c757d';\n    button.innerText = '\u9023\u7dda\u4e2d...';\n\n    try {\n        const response = await fetch(videoUrl);\n        if (!response.ok) throw new Error('\u6a94\u6848\u4e0b\u8f09\u5931\u6557');\n\n        \/\/ 2. \u7372\u53d6\u4f3a\u670d\u5668\u56de\u50b3\u7684\u6a94\u6848\u7e3d\u5927\u5c0f\n        const contentLength = response.headers.get('content-length');\n        \n        \/\/ \u5982\u679c\u4f3a\u670d\u5668\u6c92\u6709\u56de\u50b3\u6a94\u6848\u5927\u5c0f\uff0c\u986f\u793a\u9810\u8a2d\u4e0b\u8f09\u6587\u5b57\n        if (!contentLength) {\n            button.innerText = '\u4e0b\u8f09\u4e2d\uff0c\u8acb\u7a0d\u5019...';\n        }\n\n        const total = parseInt(contentLength, 10);\n        let loaded = 0;\n\n        const reader = response.body.getReader();\n        const chunks = [];\n\n        \/\/ 3. \u5faa\u74b0\u8b80\u53d6\u8cc7\u6599\u7247\u6bb5\u4e26\u66f4\u65b0\u767e\u5206\u6bd4\n        while(true) {\n            const {done, value} = await reader.read();\n            if (done) break;\n            \n            chunks.push(value);\n            loaded += value.length;\n\n            \/\/ \u5373\u6642\u8a08\u7b97\u4e26\u66f4\u65b0\u6309\u9215\u6587\u5b57\n            if (contentLength) {\n                const percent = Math.round((loaded \/ total) * 100);\n                button.innerText = `\u4e0b\u8f09\u4e2d... ${percent}%`;\n            }\n        }\n\n        \/\/ 4. \u8cc7\u6599\u4e0b\u8f09\u5b8c\u6210\uff0c\u6253\u5305\u6210 Blob \u6a94\u6848\n        const blob = new Blob(chunks);\n        const blobUrl = URL.createObjectURL(blob);\n\n        \/\/ 5. \u89f8\u767c\u700f\u89bd\u5668\u4e0b\u8f09\u884c\u70ba\n        const a = document.createElement('a');\n        a.href = blobUrl;\n        a.download = 'video.mp4'; \/\/ \ud83d\udc48 \u9019\u88e1\u53ef\u4ee5\u81ea\u8a02\u4e0b\u8f09\u4e0b\u4f86\u7684\u9810\u8a2d\u6a94\u540d\n        document.body.appendChild(a);\n        a.click();\n\n        \/\/ 6. \u6e05\u7406\u8a18\u61b6\u9ad4\n        document.body.removeChild(a);\n        URL.revokeObjectURL(blobUrl);\n    } catch (error) {\n        alert('\u4e0b\u8f09\u5931\u6557\uff0c\u8acb\u9577\u6309\u6309\u9215\u4e26\u9078\u64c7\u300c\u4e0b\u8f09\u76ee\u6a19\u6a94\u6848\u300d\u8655\u7406\u3002');\n        console.error(error);\n    } finally {\n        \/\/ 7. \u9084\u539f\u6309\u9215\u72c0\u614b\n        button.disabled = false;\n        button.innerText = '\u4e0b\u8f09\u5f71\u7247';\n        button.style.backgroundColor = '#007bff';\n    }\n});\n<\/script>\n\n\n\n\n<p class=\"wp-block-paragraph\">\u200b\u65c5\u7a0b\u9032\u5165\u7b2c\u4e8c\u5929\uff0c\u6211\u5011\u544a\u5225\u4e86\u77f3\u9580\u6c34\u5eab\u7684\u6e05\u6668\uff0c\u6e96\u5099\u6df1\u5165\u82d7\u6817\u7684\u5c71\u6797\u8179\u5730\u3002\u9019\u662f\u4e00\u5834\u96c6\u8996\u89ba\u3001\u5473\u89ba\u8207\u5fc3\u9748\u653e\u9b06\u65bc\u4e00\u9ad4\u7684\u6df1\u5ea6\u5de1\u79ae\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u200b\u6c34\u8272\u6668\u5149\uff5c\u77f3\u9580\u6c34\u5eab\u4e58\u8239\u904a\u6e56<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u200b\u5728\u98ef\u5e97\u4eab\u7528\u5b8c\u8c50\u5bcc\u65e9\u9910\u5f8c\uff0c\u6211\u5011\u524d\u5f80\u77f3\u9580\u6c34\u5eab\u78bc\u982d\u3002\u642d\u4e58\u904a\u8247\u7de9\u7de9\u99db\u5165\u6e56\u5fc3\uff0c\u5169\u5cb8\u7684\u5c71\u5f71\u5012\u6620\u5728\u78a7\u7da0\u7684\u6c34\u9762\u4e0a\uff0c\u5fae\u98a8\u5f90\u5f90\u5439\u4f86\uff0c\u9019\u4efd\u5e73\u975c\u8207\u958b\u95ca\uff0c\u662f\u958b\u555f\u4e00\u5929\u6700\u68d2\u7684\u65b9\u5f0f\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u200b\u5ead\u5712\u5348\u5bb4\uff5c\u9023\u8a18\u7518\u5473\u82b1\u5712\u9910\u5ef3<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u200b\u4e2d\u5348\uff0c\u6211\u5011\u4f86\u5230\u5145\u6eff\u7da0\u610f\u7684\u300c\u9023\u8a18\u7518\u5473\u82b1\u5712\u9910\u5ef3\u300d\u3002\u5728\u7e41\u82b1\u74b0\u7e5e\u7684\u5ead\u5712\u4e2d\uff0c\u54c1\u5690\u9053\u5730\u7684\u5ba2\u5bb6\u8207\u5c71\u7522\u6599\u7406\u3002\u7cbe\u7dfb\u7684\u64fa\u76e4\u8207\u81ea\u7136\u7684\u74b0\u5883\u76f8\u5f97\u76ca\u5f70\uff0c\u8b93\u5925\u4f34\u5011\u5728\u7528\u9910\u4e4b\u9918\uff0c\u4e5f\u80fd\u62cd\u4e0b\u8a31\u591a\u7f8e\u9e97\u7684\u526a\u5f71\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u200b\u63db\u4e58\u51fa\u767c\uff5c\u96ea\u9738\u570b\u5bb6\u516c\u5712\u7ba1\u7406\u8655<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u200b\u70ba\u4e86\u6df1\u5165\u8def\u5e45\u8f03\u7a84\u7684\u79d8\u5883\uff0c\u6211\u5011\u5728\u96ea\u9738\u7ba1\u7406\u8655\u63db\u4e58\u6a5f\u52d5\u6027\u8f03\u9ad8\u7684\u5c0f\u8eca\u3002\u9019\u4e5f\u4ee3\u8868\u8457\u6211\u5011\u5373\u5c07\u9032\u5165\u884c\u7a0b\u4e2d\u6700\u4ee4\u4eba\u671f\u5f85\u7684\u300c\u79d8\u5883\u968e\u6bb5\u300d\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u200b\u9ec3\u91d1\u4eae\u9ede\uff5c\u5927\u6e56\u793e\u5bee\u89d2\u91d1\u91dd\u82b1\u5eca\u9053<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u200b\u4e0d\u5fc5\u9060\u8d74\u82b1\u6771\uff0c\u5728\u82d7\u6817\u5927\u6e56\u6211\u5011\u4e5f\u80fd\u9047\u898b\u6eff\u5c71\u904d\u91ce\u7684\u300c\u91d1\u91dd\u82b1\u6d77\u300d\u3002\u6f2b\u6b65\u5728\u91d1\u91dd\u82b1\u5eca\u9053\u4e2d\uff0c\u8000\u773c\u7684\u6a58\u9ec3\u8272\u82b1\u6735\u5728\u967d\u5149\u4e0b\u9583\u720d\uff0c\u8c61\u5fb5\u8457\u300c\u5fd8\u6182\u300d\uff0c\u8b93\u6240\u6709\u5925\u4f34\u7684\u76f8\u6a5f\u5feb\u9580\u505c\u4e0d\u4e0b\u4f86\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u200b\u7da0\u8272\u96a7\u9053\uff5c\u70cf\u560e\u5f65\u7af9\u6797\u79d8\u5883<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u200b\u63a5\u8457\uff0c\u6211\u5011\u62b5\u9054\u4e86\u7d20\u6709\u300c\u53f0\u7063\u7248\u5d50\u5c71\u300d\u4e4b\u7a31\u7684\u70cf\u560e\u5f65\u7af9\u6797\u3002\u5169\u65c1\u9ad8\u8073\u5165\u5929\u7684\u7fe0\u7af9\u4ea4\u7e54\u6210\u4e00\u689d\u5e7d\u975c\u7684\u96a7\u9053\uff0c\u967d\u5149\u7a7f\u904e\u7af9\u8449\u7051\u4e0b\u9ede\u9ede\u91d1\u5149\u3002\u8d70\u5728\u5176\u4e2d\uff0c\u5f77\u5f7f\u9032\u5165\u4e86\u6b66\u4fe0\u96fb\u5f71\u7684\u5834\u666f\uff0c\u5fc3\u9748\u77ac\u9593\u8b8a\u5f97\u6f84\u6f88\u5b89\u975c\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u200b\u8001\u8857\u5de1\u5473\uff5c\u6d17\u6c34\u5751\u8c46\u8150\u8857<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u200b\u884c\u7a0b\u5f8c\u534a\u6bb5\u4f86\u5230\u300c\u6e05\u5b89\u8c46\u8150\u8857\u300d\u3002\u9019\u689d\u53e4\u6a38\u7684\u8001\u8857\u4ee5\u624b\u5de5\u8c46\u8150\u805e\u540d\uff0c\u5925\u4f34\u5011\u5728\u6b64\u54c1\u5690\u9ed1\u8c46\u8150\u3001\u8106\u76ae\u8c46\u8150\u7b49\u5728\u5730\u5c0f\u5403\uff0c\u611f\u53d7\u5ba2\u5bb6\u5e84\u8207\u6cf0\u96c5\u90e8\u843d\u4ea4\u532f\u7684\u7368\u7279\u98a8\u60c5\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u200b\u9802\u7d1a\u5ea6\u5047\uff5c\u5165\u4f4f\u4eab\u6c90\u6642\u5149\u8207\u4e94\u6a13\u9957\u5bb4<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u200b\u508d\u665a\uff0c\u6211\u5011\u62b5\u9054\u4eca\u65e5\u7684\u7d42\u9ede\u2014\u2014\u300c\u4eab\u6c90\u6642\u5149\u838a\u5712\u6e21\u5047\u9152\u5e97\u300d\u3002\u9019\u5ea7\u7d50\u5408\u4e86\u65e5\u5f0f\u79aa\u98a8\u8207\u73fe\u4ee3\u5962\u83ef\u7684\u9152\u5e97\uff0c\u662f\u82d7\u6817\u8457\u540d\u7684\u5ea6\u5047\u52dd\u5730\u3002<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u200b<strong>\u4e94\u6a13\u4eab\u5bb4<\/strong>\uff1a\u4eca\u665a\u6211\u5011\u76f4\u63a5\u5728\u98ef\u5e97\u4e94\u6a13\u7684\u4eab\u5bb4\u5ef3\u7528\u9910\uff0c\u4e00\u908a\u4eab\u7528\u7cbe\u7dfb\u4f73\u991a\uff0c\u4e00\u908a\u4ea4\u6d41\u4eca\u65e5\u7684\u5fc3\u5f97\u3002<\/li>\n\n\n\n<li>\u200b<strong>\u7480\u74a8\u591c\u666f<\/strong>\uff1a\u9910\u5f8c\uff0c\u63a8\u85a6\u5927\u5bb6\u5230\u9732\u5929\u5340\u6216\u5ba2\u623f\u967d\u53f0\u3002\u4eab\u6c90\u6642\u5149\u5750\u843d\u65bc\u9ad8\u8655\uff0c\u80fd\u4fef\u77b0\u82d1\u88e1\u5e73\u539f\u7684\u9ede\u9ede\u71c8\u706b\uff0c\u914d\u4e0a\u7480\u74a8\u661f\u7a7a\uff0c\u9019\u4efd\u591c\u666f\u662f\u4eca\u665a\u6700\u5962\u83ef\u7684\u4eab\u53d7\u3002<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u4e0b\u8f09\u5f71\u7247 \u200b\u65c5\u7a0b\u9032\u5165\u7b2c\u4e8c\u5929\uff0c\u6211\u5011\u544a\u5225<\/p>\n","protected":false},"author":1,"featured_media":655,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,9],"tags":[],"class_list":["post-654","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","category-nearby-places"],"_links":{"self":[{"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=\/wp\/v2\/posts\/654","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=654"}],"version-history":[{"count":3,"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=\/wp\/v2\/posts\/654\/revisions"}],"predecessor-version":[{"id":677,"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=\/wp\/v2\/posts\/654\/revisions\/677"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=\/wp\/v2\/media\/655"}],"wp:attachment":[{"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=654"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=654"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jhcis.idv.tw\/jan\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=654"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}