{"id":276,"date":"2023-08-09T17:29:59","date_gmt":"2023-08-09T09:29:59","guid":{"rendered":"https:\/\/mrc.som.nycu.edu.tw\/?page_id=276"},"modified":"2026-03-07T00:16:42","modified_gmt":"2026-03-06T16:16:42","slug":"%e5%be%b5%e6%89%8d%e5%85%ac%e5%91%8a","status":"publish","type":"page","link":"https:\/\/mrc.som.nycu.edu.tw\/eng\/%e5%be%b5%e6%89%8d%e5%85%ac%e5%91%8a\/","title":{"rendered":"JOB VACANCY ANNOUNCEMENT"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/mrc.som.nycu.edu.tw\/wp-content\/uploads\/2023\/10\/h-300x106-1.png\" alt=\"\u4eba\u624d\u62db\u52df\" style=\"width:300px;height:106px\" title=\"\u4eba\u624d\u62db\u52df\"\/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<p class=\"has-medium-font-size\"><strong><strong>\u516c\u544a\u65e5\u671f<\/strong><\/strong><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-medium-font-size\"><strong><strong>\u5fb5\u624d\u5167\u5bb9<\/strong><\/strong><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-medium-font-size\"><strong><strong>\u5de5\u4f5c\u5167\u5bb9<\/strong><\/strong><\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<p class=\"has-text-align-left\">2023 \u5e74 11 \u6708 20 \u65e5<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><strong><a href=\"https:\/\/www.104.com.tw\/job\/84y9s?jobsource=2018indexpoc\" target=\"_blank\" rel=\"noreferrer noopener\">\u967d\u660e\u4ea4\u901a\u5927\u5b78\u5065\u5eb7\u5275\u65b0\u4e2d\u5fc3\u8aa0\u5fb5\u79d1\u7814\u8a08\u756b\u5c08\u6848\u7d93\u7406<\/a><\/strong><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><div class=\"multiline-ellipsis\">1. \u653f\u5e9c\u79d1\u7814\u8a08\u756b\u9032\u5ea6\u53ca\u7d93\u8cbb\u7ba1\u7406\u3001\u57f7\u884c\u6210\u679c\u6536\u96c6\u53ca\u6574\u7406 2. \u8a08\u756b\u9032\u5ea6\u63a7\u7ba1\u8ffd\u8e64\u3001\u5c08\u6848\u6703\u8b70\u9023\u7e6b\u53ca\u8cc7\u6599\u6e96\u5099 3. \u7814\u8a0e\u6703\/\u5de5\u4f5c\u574a\u6d3b\u52d5\u7c4c\u8fa6\u3001\u57f7\u884c 4. \u5c08\u6848\u8a08\u756bKPI\u8cc7\u6599\u6536\u96c6\u5f59\u6574\u3001\u5e74\u5ea6\u6210\u679c\u5f59\u6574\u3001\u5354\u52a9\u5831\u544a\u6574\u7406 5. \u5176\u4ed6\u4e3b\u7ba1\u4ea4\u8fa6\u4e8b\u9805<\/div><\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<p class=\"has-text-align-left\">2023 \u5e74 11 \u6708 3 \u65e5<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><a href=\"https:\/\/www.104.com.tw\/job\/84y9r?jobsource=2018indexpoc\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>\u570b\u7acb\u967d\u660e\u4ea4\u901a\u5927\u5b78\u5065\u5eb7\u5275\u65b0\u4e2d\u5fc3\u8aa0\u5fb5\u751f\u7269\u7d71\u8a08\u3001\u8cc7\u8a0a\u5de5\u7a0b\u3001\u8a08\u91cf\u7d93\u6fdf\u7b49\u76f8\u95dc\u9818\u57df\u4e4b\u5206\u6790\u5e2b\u53ca\u535a\u58eb\u5f8c\u7814\u7a76\u54e1<\/strong><\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>1. \u5065\u4fdd\u8cc7\u6599\u5eab\u5206\u6790 2. \u81e8\u5e8a\u5f71\u50cf\u53ca\u6578\u64da\u5206\u6790 3. \u751f\u7269\u8cc7\u8a0a\u591a\u9ad4\u5b78\u5206\u6790 4. \u8de8\u570b\u5927\u6578\u64da\u5206\u6790 5. \u8a08\u91cf\u7d93\u6fdf\u5b78\u5206\u6790<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<p class=\"has-text-align-left\">2023 \u5e74 11 \u6708 3 \u65e5<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>\n  <a href=\"https:\/\/www.104.com.tw\/job\/84y9q?jobsource=2018indexpoc\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"\u570b\u7acb\u967d\u660e\u4ea4\u901a\u5927\u5b78\u6881\u7acb\u9716\u526f\u6559\u6388\u8aa0\u5fb5\u535a\u58eb\u7d1a(\u535a\u73ed\u751f)\u6216\u535a\u58eb\u5f8c\u7814\u7a76\u52a9\u7406 1 \u540d(\u5c08\u4efb\u6216\u517c\u4efb\u7686\u53ef)\">\n    <strong>\u570b\u7acb\u967d\u660e\u4ea4\u901a\u5927\u5b78\u6881\u7acb\u9716\u526f\u6559\u6388\u8aa0\u5fb5\u535a\u58eb\u7d1a(\u535a\u73ed\u751f)\u6216\u535a\u58eb\u5f8c\u7814\u7a76\u52a9\u7406 1 \u540d(\u5c08\u4efb\u6216\u517c\u4efb\u7686\u53ef)<\/strong>\n  <\/a>\n<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><div class=\"multiline-ellipsis\">1. \u5bb6\u6236\u8ffd\u8e64\u8cc7\u6599\u5206\u6790 2. \u5065\u4fdd\u8cc7\u6599\u5206\u6790 3. \u9ad4\u9069\u80fd\u8207\u74b0\u5883\u8cc7\u6599\u5206\u6790 4. \u65b0\u51a0\u80ba\u708e\u8cc7\u6599\u5206\u6790 5. \u8de8\u570b\u8cc7\u6599\u5206\u6790 6. \u9032\u884c\u75c5\u60a3\u4e4b\u884c\u70ba\u4ecb\u5165\u8a66\u9a57 7. \u5354\u52a9\u8207\u7814\u7a76\u76f8\u95dc\u4e4b\u696d\u52d9\u6216\u5176\u4ed6\u4ea4\u8fa6\u4e8b\u9805<\/div><\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<p class=\"has-text-align-left\">2023 \u5e74 11 \u6708 3 \u65e5<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><strong><a href=\"https:\/\/www.104.com.tw\/job\/84y9p?jobsource=2018indexpoc\" target=\"_blank\" rel=\"noreferrer noopener\">MIS\/\u7db2\u7ba1\u5de5\u7a0b\u5e2b<\/a><\/strong><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><div class=\"multiline-ellipsis\">0. \u4e3b\u52d5\u7a4d\u6975\u7684\u5de5\u4f5c\u614b\u5ea6 1. \u719f\u6089Linux 2. \u8ca0\u8cac\u8fa6\u516c\u96fb\u8166\u3001\u6a5f\u623f\u7cfb\u7d71\u7dad\u8b77\u8207\u7ba1\u7406 3. \u5177\u6709\u7db2\u8def\u6982\u5ff5\u3001\u67b6\u8a2d\u3001\u7dad\u904b\u7b49\u77e5\u8b58\uff0c\u80fd\u5c0d\u4e00\u822c\u5340\u7db2\u6545\u969c\u9032\u884c\u5206\u6790\u3001\u5224\u5b9a\u8207\u6392\u9664\u7570\u5e38 4. \u5177\u5099\u96f2\u7aef\u670d\u52d9\u6216\u865b\u64ec\u5316\u5e73\u53f0\u7b49\u7ba1\u7406\u7dad\u8b77\u7d93\u9a57 (Xen Server, VMware, AWS\u7b49) 5. \u6709\u5b78\u7fd2\u71b1\u5ff1\uff0c\u9808\u914d\u5408\u5c08\u6848\u5b78\u7fd2Docker\u3001\u5fae\u670d\u52d9\u7b49\u7dad\u8b77\u6280\u8853 6. \u914d\u5408ISO\u9a57\u8b49\uff0c\u5236\u5b9a\u4e26\u57f7\u884c\u8cc7\u8a0a\u5b89\u5168\u898f\u7bc4\u8207\u7ba1\u63a7<\/div><\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<p class=\"has-text-align-left\">2023 \u5e74 11 \u6708 3 \u65e5<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p><a href=\"https:\/\/www.104.com.tw\/job\/84y9o?jobsource=2018indexpoc\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>\u7a0b\u5f0f\u8edf\u9ad4\u5de5\u7a0b\u5e2b<\/strong><\/a><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p>1.\u8ca0\u8cac\u73fe\u6709\u91ab\u7642\u8cc7\u8a0a\u7cfb\u7d71\u7dad\u8b77\u8207\u65b0\u529f\u80fd\u958b\u767c 2.\u914d\u5408ISO\u9a57\u8b49\u4ea4\u8fa6\u4e8b\u9805<\/p>\n<\/div>\n<\/div>\n\n\n\n<p class=\"has-palette-color-7-color has-text-color has-link-color wp-elements-8d8e68f1aad6efe13b8e2d399be9e6b0\"><strong>\u76ee\u524d\u66ab\u7121\u8077\u7f3a<\/strong><\/p>\n\n\n\n<script>\ndocument.addEventListener('DOMContentLoaded', function () {\n  \/* =========================\n     1. \u53d6\u5f97\u4e3b\u8981\u5340\u584a\n  ========================= *\/\n  const header = document.querySelector('#header, header.ct-header, header');\n  const logoLink = document.querySelector(\n    '.site-logo-container, .custom-logo-link, .site-branding a[rel=\"home\"]'\n  );\n  const main = document.querySelector('#main, main.site-main, main');\n  const footer = document.querySelector('#footer, footer.ct-footer, footer');\n\n  const searchTrigger = document.querySelector(\n    '.ct-header-search[data-toggle-panel=\"#search-modal\"], button[aria-controls=\"search-modal\"]'\n  );\n  const searchModal = document.querySelector('#search-modal');\n  const searchInput = document.querySelector(\n    '#search-modal input[type=\"search\"], #search-modal .modal-field, form[role=\"search\"] input[type=\"search\"]'\n  );\n\n  const mainNav = document.querySelector('#header-menu-1, nav[aria-label=\"main menu\"]');\n\n  \/* =========================\n     2. \u8f14\u52a9\u51fd\u5f0f\n  ========================= *\/\n  function focusElement(el) {\n    if (!el) return;\n\n    try {\n      el.focus({ preventScroll: false });\n    } catch (e) {\n      el.focus();\n    }\n\n    if (typeof el.scrollIntoView === 'function') {\n      el.scrollIntoView({\n        block: 'start',\n        behavior: 'smooth'\n      });\n    }\n  }\n\n  function makeSectionFocusable(el, key, label) {\n    if (!el) return;\n\n    el.setAttribute('accesskey', key);\n\n    \/\/ \u975e\u539f\u751f\u53ef\u805a\u7126\u5143\u7d20\u624d\u88dc tabindex\n    if (!\/^(A|BUTTON|INPUT|SELECT|TEXTAREA)$\/.test(el.tagName)) {\n      if (!el.hasAttribute('tabindex')) {\n        el.setAttribute('tabindex', '-1');\n      }\n    }\n\n    if (label && !el.getAttribute('aria-label')) {\n      el.setAttribute('aria-label', label);\n    }\n  }\n\n  \/* =========================\n     3. \u8a2d\u5b9a\u4e3b\u5340\u584a Accesskey\n  ========================= *\/\n  \/\/ Alt+U\uff1a\u4e0a\u65b9\u529f\u80fd\u5340\u584a\uff0c\u512a\u5148\u653e\u5728 Logo\n  if (logoLink) {\n    makeSectionFocusable(logoLink, 'U', '\u56de\u9996\u9801\u8207\u4e0a\u65b9\u529f\u80fd\u5340\u584a');\n  } else {\n    makeSectionFocusable(header, 'U', '\u4e0a\u65b9\u529f\u80fd\u5340\u584a');\n  }\n\n  \/\/ Alt+S\uff1a\u641c\u5c0b\u5340\u584a\uff0c\u653e\u5728\u641c\u5c0b\u6309\u9215\n  if (searchTrigger) {\n    makeSectionFocusable(searchTrigger, 'S', '\u7db2\u7ad9\u641c\u5c0b\u5340\u584a');\n  }\n\n  \/\/ Alt+C\uff1a\u4e2d\u592e\u5167\u5bb9\n  if (main) {\n    makeSectionFocusable(main, 'C', '\u4e2d\u592e\u5167\u5bb9\u5340\u584a');\n  }\n\n  \/\/ Alt+H\uff1a\u9801\u5c3e\n  if (footer) {\n    makeSectionFocusable(footer, 'H', '\u4e0b\u65b9\u529f\u80fd\u5340\u584a');\n  }\n\n  \/\/ \u4e3b\u9078\u55ae aria-label \u6539\u4e2d\u6587\n  if (mainNav) {\n    mainNav.setAttribute('aria-label', '\u4e3b\u9078\u55ae');\n  }\n\n  \/* =========================\n     4. Alt+S \u4e0d\u8df3\u6389\n     - \u4e0d\u81ea\u52d5 click \u641c\u5c0b\u6309\u9215\n     - \u53ea\u805a\u7126\u641c\u5c0b\u6309\u9215\u6216\u5df2\u958b\u555f\u641c\u5c0b\u6b04\n  ========================= *\/\n  function openSearchAndFocus() {\n    \/\/ \u5982\u679c\u641c\u5c0b\u8996\u7a97\u5df2\u7d93\u958b\u555f\uff0c\u5c31\u76f4\u63a5\u805a\u7126\u641c\u5c0b\u6b04\n    if (searchInput && searchModal && !searchModal.hasAttribute('inert')) {\n      focusElement(searchInput);\n      return;\n    }\n\n    \/\/ \u4e0d\u4e3b\u52d5 click\uff0c\u53ea\u805a\u7126\u641c\u5c0b\u6309\u9215\n    if (searchTrigger) {\n      focusElement(searchTrigger);\n      return;\n    }\n\n    \/\/ \u82e5\u9801\u9762\u672c\u4f86\u5c31\u6709\u641c\u5c0b\u6b04\n    if (searchInput) {\n      focusElement(searchInput);\n      return;\n    }\n\n    \/\/ \u6700\u5f8c\u624d\u805a\u7126\u641c\u5c0b\u5c0d\u8a71\u6846\u5bb9\u5668\n    if (searchModal) {\n      focusElement(searchModal);\n    }\n  }\n\n  \/* =========================\n     5. \u5feb\u901f\u9375\u5099\u63f4\u8655\u7406\n     Chrome \/ Edge\uff1aAlt + U\/S\/C\/H\n     Firefox\uff1aShift + Alt + U\/S\/C\/H\n  ========================= *\/\n  document.addEventListener('keydown', function (e) {\n    const key = (e.key || '').toLowerCase();\n    const isFirefox = \/firefox\/i.test(navigator.userAgent);\n\n    const matched = isFirefox\n      ? (e.altKey && e.shiftKey && !e.ctrlKey && !e.metaKey)\n      : (e.altKey && !e.shiftKey && !e.ctrlKey && !e.metaKey);\n\n    if (!matched) return;\n    if (!['u', 's', 'c', 'h'].includes(key)) return;\n\n    e.preventDefault();\n\n    switch (key) {\n      case 'u':\n        focusElement(logoLink || header);\n        break;\n\n      case 's':\n        openSearchAndFocus();\n        break;\n\n      case 'c':\n        focusElement(main);\n        break;\n\n      case 'h':\n        focusElement(footer);\n        break;\n    }\n  });\n\n  \/* =========================\n     6. \u4fee\u6b63\u684c\u6a5f\u4e3b\u9078\u55ae v \u6309\u9215 aria-label\n  ========================= *\/\n  function getDirectMenuText(menuItem) {\n    const link = menuItem.querySelector(':scope > a.ct-menu-link, :scope > a');\n    if (!link) return '\u5b50\u9078\u55ae';\n\n    let text = '';\n\n    \/\/ \u53ea\u6293\u6587\u5b57\u7bc0\u9ede\uff0c\u907f\u514d\u628a\u7bad\u982d icon \u4e00\u8d77\u7b97\u9032\u53bb\n    link.childNodes.forEach(function (node) {\n      if (node.nodeType === Node.TEXT_NODE) {\n        text += node.textContent;\n      }\n    });\n\n    text = text.replace(\/\\s+\/g, ' ').trim();\n\n    if (!text) {\n      text = link.textContent.replace(\/\\s+\/g, ' ').trim();\n    }\n\n    return text || '\u5b50\u9078\u55ae';\n  }\n\n  function updateDesktopMenuToggleLabel(menuItem) {\n    const button = menuItem.querySelector(':scope > button.ct-toggle-dropdown-desktop-ghost');\n    if (!button) return;\n\n    const menuText = getDirectMenuText(menuItem);\n    const expanded = button.getAttribute('aria-expanded') === 'true';\n\n    button.setAttribute('type', 'button');\n    button.setAttribute('aria-haspopup', 'true');\n    button.setAttribute(\n      'aria-label',\n      expanded\n        ? menuText + '\u5b50\u9078\u55ae\uff0c\u5df2\u5c55\u958b'\n        : menuText + '\u5b50\u9078\u55ae\uff0c\u5df2\u6536\u5408'\n    );\n  }\n\n  const desktopMenuItems = document.querySelectorAll(\n    '#menu-main-menu > li.menu-item-has-children'\n  );\n\n  desktopMenuItems.forEach(function (menuItem) {\n    const button = menuItem.querySelector(':scope > button.ct-toggle-dropdown-desktop-ghost');\n    if (!button) return;\n\n    updateDesktopMenuToggleLabel(menuItem);\n\n    button.addEventListener('click', function () {\n      setTimeout(function () {\n        updateDesktopMenuToggleLabel(menuItem);\n      }, 80);\n    });\n\n    button.addEventListener('keydown', function () {\n      setTimeout(function () {\n        updateDesktopMenuToggleLabel(menuItem);\n      }, 80);\n    });\n  });\n\n  const desktopMenuRoot = document.querySelector('#menu-main-menu');\n  if (desktopMenuRoot) {\n    const observer = new MutationObserver(function () {\n      desktopMenuItems.forEach(updateDesktopMenuToggleLabel);\n    });\n\n    observer.observe(desktopMenuRoot, {\n      subtree: true,\n      attributes: true,\n      attributeFilter: ['aria-expanded', 'class']\n    });\n  }\n\n  \/* =========================\n     7. \u53ef\u9078\uff1a\u624b\u6a5f\u9078\u55ae\u6309\u9215\u6587\u5b57\u66f4\u6e05\u695a\n  ========================= *\/\n  const mobileMenuTrigger = document.querySelector(\n    '.ct-header-trigger[aria-controls=\"offcanvas\"]'\n  );\n  if (mobileMenuTrigger) {\n    mobileMenuTrigger.setAttribute('aria-label', '\u958b\u555f\u4e3b\u9078\u55ae');\n  }\n\n  const mobileCloseBtn = document.querySelector('#offcanvas .ct-toggle-close');\n  if (mobileCloseBtn) {\n    mobileCloseBtn.setAttribute('aria-label', '\u95dc\u9589\u5074\u9078\u55ae');\n  }\n\n  const searchCloseBtn = document.querySelector('#search-modal .ct-toggle-close');\n  if (searchCloseBtn) {\n    searchCloseBtn.setAttribute('aria-label', '\u95dc\u9589\u641c\u5c0b\u4e92\u52d5\u8996\u7a97');\n  }\n});\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>\u516c\u544a\u65e5\u671f \u5fb5\u624d\u5167\u5bb9 \u5de5\u4f5c\u5167\u5bb9 2023 \u5e74 11 \u6708 20 \u65e5 \u967d\u660e\u4ea4\u901a\u5927\u5b78\u5065\u5eb7\u5275\u65b0\u4e2d\u5fc3\u8aa0\u5fb5\u79d1\u7814\u8a08\u756b\u5c08\u6848\u7d93\u7406  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-276","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/mrc.som.nycu.edu.tw\/eng\/wp-json\/wp\/v2\/pages\/276","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrc.som.nycu.edu.tw\/eng\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrc.som.nycu.edu.tw\/eng\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrc.som.nycu.edu.tw\/eng\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mrc.som.nycu.edu.tw\/eng\/wp-json\/wp\/v2\/comments?post=276"}],"version-history":[{"count":14,"href":"https:\/\/mrc.som.nycu.edu.tw\/eng\/wp-json\/wp\/v2\/pages\/276\/revisions"}],"predecessor-version":[{"id":1022,"href":"https:\/\/mrc.som.nycu.edu.tw\/eng\/wp-json\/wp\/v2\/pages\/276\/revisions\/1022"}],"wp:attachment":[{"href":"https:\/\/mrc.som.nycu.edu.tw\/eng\/wp-json\/wp\/v2\/media?parent=276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}