{"id":1461,"date":"2026-03-25T08:47:36","date_gmt":"2026-03-25T08:47:36","guid":{"rendered":"https:\/\/tian-jian.org\/tj-field-school\/?post_type=toolbox&#038;p=1461"},"modified":"2026-06-07T11:12:32","modified_gmt":"2026-06-07T11:12:32","slug":"opencorporates-%e5%b7%a5%e5%85%b7%e7%ae%b1","status":"publish","type":"toolbox","link":"https:\/\/tian-jian.org\/tj-field-school\/toolbox\/opencorporates-%e5%b7%a5%e5%85%b7%e7%ae%b1\/","title":{"rendered":"OpenCorporates"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u672c\u6559\u7a0b\u65e8\u5728\u4ecb\u7d39\u5982\u4f55\u904b\u7528OpenCorporates\u9019\u4e00\u5168\u7403\u6700\u5927\u7684\u958b\u653e\u5f0f\u6cd5\u4eba\u5be6\u9ad4\u8cc7\u6599\u5eab\uff0c\u8ffd\u8e64\u4f01\u696d\u7d50\u69cb\u3001\u91d0\u6e05\u7522\u6b0a\u95dc\u4fc2\u3002\u8a72\u5e73\u53f0\u5f59\u6574\u4e86\u4f86\u81ea140\u9918\u500b\u53f8\u6cd5\u7ba1\u8f44\u5340\u7684\u516c\u53f8\u767b\u8a18\u8cc7\u6599\uff0c\u7d93\u904e\u6a19\u6e96\u5316\u8655\u7406\uff0c\u5177\u5099\u5b8c\u6574\u7684\u53ef\u7a3d\u6838\u6027\u3002\u7121\u8ad6\u662f\u8abf\u67e5\u8de8\u5883\u8cc7\u91d1\u6d41\u5411\u3001\u63ed\u9732\u96b1\u6027\u80a1\u6b0a\u7d50\u69cb\uff0c\u9084\u662f\u8ffd\u8e64\u4f01\u696d\u66f4\u540d\u8207\u95dc\u806f\u5be6\u9ad4\uff0cOpenCorporates\u90fd\u80fd\u70ba\u8a18\u8005\u3001\u7814\u7a76\u4eba\u54e1\u53ca\u8abf\u67e5\u4eba\u54e1\u63d0\u4f9b\u53ef\u4fe1\u8cf4\u7684\u6578\u64da\u57fa\u790e\u2014\u2014\u5c07\u5206\u6563\u65bc\u5168\u7403\u5404\u5730\u7684\u4f01\u696d\u767b\u8a18\u8cc7\u8a0a\u6574\u5408\u70ba\u4e00\u500b\u5f37\u5927\u7684\u8abf\u67e5\u5de5\u5177\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<!-- \u5728\u7530\u9593\u5b78 \u5de5\u5177\u7bb1 slider \u2014 WordPress Custom HTML block -->\n<!-- Paste this entire block into a Custom HTML block in your post -->\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Noto+Serif+TC:wght@400;600;700&amp;family=Noto+Sans+TC:wght@300;400;500&amp;family=IBM+Plex+Mono:wght@400;500&amp;display=swap\" rel=\"stylesheet\">\n\n<style>\n\/* \u2500\u2500 All styles scoped to #tjfs-slider-wrap \u2500\u2500 *\/\n#tjfs-slider-wrap {\n  --tjfs-teal: #3dabb1;\n  --tjfs-teal-dark: #2d8389;\n  --tjfs-teal-light: #e6f5f6;\n  --tjfs-teal-mid: #b0dde0;\n  --tjfs-gold: #ae8c11;\n  --tjfs-gold-light: #f7f1d9;\n  --tjfs-surface: #ffffff;\n  --tjfs-text: #1c1a16;\n  --tjfs-text-mid: #4e4c46;\n  --tjfs-text-muted: #9a9890;\n  --tjfs-border: #dedad2;\n  --tjfs-serif: 'Noto Serif TC', serif;\n  --tjfs-sans: 'Noto Sans TC', sans-serif;\n  --tjfs-mono: 'IBM Plex Mono', monospace;\n  width: 100%;\n  font-family: var(--tjfs-sans);\n  margin: 0 auto 2em;\n}\n\n#tjfs-slider-wrap *, #tjfs-slider-wrap *::before, #tjfs-slider-wrap *::after {\n  box-sizing: border-box;\n  margin: 0;\n  padding: 0;\n}\n\n\/* \u2500\u2500 Card shell \u2500\u2500 *\/\n#tjfs-slider-wrap .tjfs-slider {\n  width: 100%;\n  background: var(--tjfs-surface);\n  border: 1px solid var(--tjfs-border);\n  border-radius: 6px;\n  overflow: hidden;\n  display: flex;\n  flex-direction: column;\n  box-shadow: 0 2px 4px rgba(0,0,0,0.05), 0 10px 32px rgba(61,171,177,0.12);\n  animation: tjfs-fadeUp 0.4s ease both;\n}\n\n@keyframes tjfs-fadeUp {\n  from { opacity: 0; transform: translateY(10px); }\n  to   { opacity: 1; transform: translateY(0); }\n}\n\n\/* \u2500\u2500 Header \u2500\u2500 *\/\n#tjfs-slider-wrap .tjfs-header {\n  display: flex;\n  align-items: center;\n  gap: 16px;\n  padding: 16px 22px;\n  border-bottom: 1px solid var(--tjfs-border);\n  background: var(--tjfs-surface);\n  flex-shrink: 0;\n  flex-wrap: wrap;\n}\n\n#tjfs-slider-wrap .tjfs-tag {\n  font-family: var(--tjfs-mono);\n  font-size: 20px;\n  font-weight: 500;\n  letter-spacing: 0.18em;\n  text-transform: uppercase;\n  color: #fff;\n  background: var(--tjfs-teal);\n  padding: 8px 16px 7px;\n  border-radius: 3px;\n  flex-shrink: 0;\n  line-height: 1.4;\n}\n\n#tjfs-slider-wrap .tjfs-title {\n  font-family: var(--tjfs-serif);\n  font-size: 24px;\n  font-weight: 700;\n  color: var(--tjfs-text);\n  line-height: 1.2;\n}\n\n#tjfs-slider-wrap .tjfs-sub {\n  font-family: var(--tjfs-sans);\n  font-size: 17px;\n  color: var(--tjfs-text-muted);\n  font-weight: 300;\n  letter-spacing: 0.01em;\n}\n\n\/* \u2500\u2500 Body \u2500\u2500 *\/\n#tjfs-slider-wrap .tjfs-body {\n  display: flex;\n  flex-direction: row;\n  overflow: hidden;\n  flex: 1;\n  min-height: 0;\n}\n\n\/* \u2500\u2500 Image pane \u2500\u2500 *\/\n#tjfs-slider-wrap .tjfs-img-pane {\n  width: 58%;\n  min-width: 58%;\n  position: relative;\n  background: var(--tjfs-teal-light);\n  overflow: hidden;\n  flex-shrink: 0;\n  padding: 5px;\n  align-self: stretch;\n}\n\n#tjfs-slider-wrap .tjfs-img-inner {\n  width: 100%;\n  height: 100%;\n  position: relative;\n  overflow: hidden;\n  border-radius: 2px;\n  background: var(--tjfs-teal-light);\n  display: flex;\n  align-items: flex-start;\n  justify-content: center;\n}\n\n#tjfs-slider-wrap .tjfs-img-inner img {\n  width: 100%;\n  height: 100%;\n  object-fit: contain;\n  object-position: top center;\n  display: block;\n  transition: opacity 0.28s ease;\n}\n\n#tjfs-slider-wrap .tjfs-img-inner img.tjfs-fading { opacity: 0; }\n\n#tjfs-slider-wrap .tjfs-badge {\n  position: absolute;\n  top: 10px;\n  left: 10px;\n  font-family: var(--tjfs-mono);\n  font-size: 14px;\n  font-weight: 500;\n  color: #fff;\n  background: rgba(61,171,177,0.92);\n  backdrop-filter: blur(6px);\n  -webkit-backdrop-filter: blur(6px);\n  padding: 5px 12px 4px;\n  border-radius: 3px;\n  letter-spacing: 0.05em;\n  pointer-events: none;\n  z-index: 2;\n  line-height: 1.4;\n}\n\n#tjfs-slider-wrap .tjfs-callout {\n  position: absolute;\n  bottom: 10px;\n  right: 10px;\n  background: var(--tjfs-gold);\n  color: #fff;\n  font-family: var(--tjfs-sans);\n  font-size: 14px;\n  font-weight: 500;\n  padding: 6px 13px;\n  border-radius: 3px;\n  max-width: 65%;\n  line-height: 1.5;\n  z-index: 2;\n  opacity: 0;\n  transform: translateY(3px);\n  transition: opacity 0.22s ease, transform 0.22s ease;\n  pointer-events: none;\n}\n\n#tjfs-slider-wrap .tjfs-callout.visible { opacity: 1; transform: translateY(0); }\n\n#tjfs-slider-wrap .tjfs-placeholder {\n  width: 100%; height: 100%;\n  display: flex; flex-direction: column;\n  align-items: center; justify-content: center;\n  gap: 12px;\n  background: var(--tjfs-teal-light);\n  border-radius: 2px;\n}\n\n#tjfs-slider-wrap .tjfs-ph-icon {\n  width: 48px; height: 48px;\n  border: 1.5px solid rgba(61,171,177,0.4);\n  border-radius: 4px;\n  display: flex; align-items: center; justify-content: center;\n}\n\n#tjfs-slider-wrap .tjfs-placeholder span {\n  font-family: var(--tjfs-mono); font-size: 11px;\n  color: var(--tjfs-teal-dark); opacity: 0.5; letter-spacing: 0.1em;\n}\n\n\/* \u2500\u2500 Divider \u2500\u2500 *\/\n#tjfs-slider-wrap .tjfs-divider {\n  width: 1px;\n  background: var(--tjfs-border);\n  flex-shrink: 0;\n}\n\n\/* \u2500\u2500 Text pane \u2500\u2500 *\/\n#tjfs-slider-wrap .tjfs-text-pane {\n  flex: 1;\n  display: flex;\n  flex-direction: column;\n  overflow: hidden;\n  min-width: 0;\n  min-height: 0;\n}\n\n#tjfs-slider-wrap .tjfs-progress-track {\n  height: 3px;\n  background: var(--tjfs-teal-mid);\n  flex-shrink: 0;\n}\n\n#tjfs-slider-wrap .tjfs-progress-fill {\n  height: 100%;\n  background: var(--tjfs-teal);\n  transition: width 0.42s cubic-bezier(0.4, 0, 0.2, 1);\n}\n\n#tjfs-slider-wrap .tjfs-text-scroll {\n  flex: 1;\n  overflow-y: auto;\n  padding: 18px 20px 14px;\n  transition: opacity 0.2s ease;\n}\n\n#tjfs-slider-wrap .tjfs-text-scroll.tjfs-fading { opacity: 0; }\n\n#tjfs-slider-wrap .tjfs-text-scroll::-webkit-scrollbar { width: 4px; }\n#tjfs-slider-wrap .tjfs-text-scroll::-webkit-scrollbar-thumb {\n  background: var(--tjfs-teal-mid); border-radius: 2px;\n}\n\n#tjfs-slider-wrap .tjfs-step-label {\n  font-family: var(--tjfs-mono);\n  font-size: 11px;\n  letter-spacing: 0.16em;\n  text-transform: uppercase;\n  color: var(--tjfs-teal-dark);\n  font-weight: 500;\n  margin-bottom: 10px;\n  display: block;\n}\n\n#tjfs-slider-wrap .tjfs-slide-text {\n  font-family: var(--tjfs-sans);\n  font-size: 14px;\n  line-height: 1.95;\n  color: var(--tjfs-text-mid);\n  font-weight: 400;\n}\n\n#tjfs-slider-wrap .tjfs-slide-text .ht {\n  background: var(--tjfs-teal-light);\n  color: var(--tjfs-teal-dark);\n  padding: 1px 5px;\n  border-radius: 2px;\n  font-weight: 500;\n}\n\n#tjfs-slider-wrap .tjfs-slide-text .hg {\n  background: var(--tjfs-gold-light);\n  color: var(--tjfs-gold);\n  padding: 1px 5px;\n  border-radius: 2px;\n  font-weight: 500;\n}\n\n#tjfs-slider-wrap .tjfs-slide-text .url {\n  font-family: var(--tjfs-mono);\n  font-size: 12px;\n  color: var(--tjfs-teal);\n  word-break: break-all;\n}\n\n\/* \u2500\u2500 Footer \u2500\u2500 *\/\n#tjfs-slider-wrap .tjfs-footer {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  padding: 10px 16px;\n  border-top: 1px solid var(--tjfs-border);\n  background: #fafaf8;\n  flex-shrink: 0;\n  gap: 10px;\n  flex-wrap: wrap;\n}\n\n#tjfs-slider-wrap .tjfs-dots {\n  display: flex;\n  gap: 10px;\n  align-items: center;\n}\n\n#tjfs-slider-wrap .tjfs-dot {\n  width: 10px; height: 10px;\n  border-radius: 50%;\n  background: var(--tjfs-border);\n  cursor: pointer;\n  border: none; padding: 0;\n  transition: background 0.18s, transform 0.18s;\n  flex-shrink: 0;\n}\n\n#tjfs-slider-wrap .tjfs-dot:hover { transform: scale(1.4); background: var(--tjfs-teal-mid); }\n#tjfs-slider-wrap .tjfs-dot.active { background: var(--tjfs-teal); transform: scale(1.25); }\n#tjfs-slider-wrap .tjfs-dot.done { background: var(--tjfs-teal-mid); }\n\n#tjfs-slider-wrap .tjfs-counter {\n  font-family: var(--tjfs-mono);\n  font-size: 14px;\n  color: var(--tjfs-text-muted);\n  letter-spacing: 0.04em;\n  flex-shrink: 0;\n}\n\n#tjfs-slider-wrap .tjfs-btns { display: flex; gap: 10px; flex-wrap: wrap; }\n\n#tjfs-slider-wrap .tjfs-btn {\n  font-family: var(--tjfs-mono);\n  font-size: 14px;\n  font-weight: 500;\n  letter-spacing: 0.03em;\n  padding: 9px 18px;\n  border-radius: 4px;\n  border: 1.5px solid var(--tjfs-border);\n  background: var(--tjfs-surface);\n  color: var(--tjfs-text-mid);\n  cursor: pointer;\n  transition: all 0.15s ease;\n  line-height: 1;\n  text-decoration: none;\n}\n\n#tjfs-slider-wrap .tjfs-btn:hover:not(:disabled) {\n  border-color: var(--tjfs-teal);\n  color: var(--tjfs-teal-dark);\n  background: var(--tjfs-teal-light);\n}\n\n#tjfs-slider-wrap .tjfs-btn.primary {\n  background: var(--tjfs-teal);\n  border-color: var(--tjfs-teal);\n  color: #fff;\n}\n\n#tjfs-slider-wrap .tjfs-btn.primary:hover:not(:disabled) {\n  background: var(--tjfs-teal-dark);\n  border-color: var(--tjfs-teal-dark);\n}\n\n#tjfs-slider-wrap .tjfs-btn.dl {\n  background: var(--tjfs-gold-light);\n  border-color: var(--tjfs-gold);\n  color: var(--tjfs-gold);\n  font-family: var(--tjfs-sans);\n  font-size: 14px;\n  letter-spacing: 0.02em;\n}\n\n#tjfs-slider-wrap .tjfs-btn.dl:hover {\n  background: var(--tjfs-gold);\n  border-color: var(--tjfs-gold);\n  color: #fff;\n}\n\n#tjfs-slider-wrap .tjfs-btn:disabled { opacity: 0.3; cursor: default; }\n\n\/* \u2500\u2500 Image zoom cursor hint \u2500\u2500 *\/\n#tjfs-slider-wrap .tjfs-img-pane { cursor: zoom-in; }\n\n\/* \u2500\u2500 Lightbox \u2500\u2500 *\/\n#tjfs-lightbox {\n  display: none;\n  position: fixed;\n  inset: 0;\n  z-index: 999999;\n  background: rgba(10,10,10,0.92);\n  align-items: center;\n  justify-content: center;\n  cursor: zoom-out;\n  animation: tjfs-lbIn 0.18s ease both;\n}\n\n#tjfs-lightbox.open { display: flex; }\n\n@keyframes tjfs-lbIn {\n  from { opacity: 0; }\n  to   { opacity: 1; }\n}\n\n#tjfs-lightbox img {\n  max-width: 92vw;\n  max-height: 90vh;\n  object-fit: contain;\n  border-radius: 3px;\n  box-shadow: 0 8px 48px rgba(0,0,0,0.6);\n  animation: tjfs-lbSlide 0.2s ease both;\n  pointer-events: none;\n}\n\n@keyframes tjfs-lbSlide {\n  from { opacity: 0; transform: scale(0.96); }\n  to   { opacity: 1; transform: scale(1); }\n}\n\n#tjfs-lightbox .tjfs-lb-close {\n  position: fixed;\n  top: 16px; right: 20px;\n  color: rgba(255,255,255,0.75);\n  font-size: 28px; line-height: 1;\n  cursor: pointer;\n  background: none; border: none;\n  font-family: sans-serif;\n  transition: color 0.15s;\n  z-index: 1000000;\n}\n\n#tjfs-lightbox .tjfs-lb-close:hover { color: #fff; }\n\n#tjfs-lightbox .tjfs-lb-hint {\n  position: fixed;\n  bottom: 18px; left: 50%;\n  transform: translateX(-50%);\n  font-family: 'IBM Plex Mono', monospace;\n  font-size: 11px;\n  color: rgba(255,255,255,0.35);\n  letter-spacing: 0.08em;\n  pointer-events: none;\n  white-space: nowrap;\n}\n\n\/* \u2500\u2500 Modal \u2500\u2500 *\/\n#tjfs-modal-overlay {\n  display: none;\n  position: fixed;\n  inset: 0;\n  background: rgba(28,26,22,0.55);\n  backdrop-filter: blur(3px);\n  -webkit-backdrop-filter: blur(3px);\n  z-index: 99999;\n  align-items: center;\n  justify-content: center;\n  font-family: 'Noto Sans TC', sans-serif;\n}\n\n#tjfs-modal-overlay.open { display: flex; animation: tjfs-modalIn 0.2s ease both; }\n\n@keyframes tjfs-modalIn {\n  from { opacity: 0; }\n  to   { opacity: 1; }\n}\n\n#tjfs-modal {\n  background: #fff;\n  border: 1px solid #dedad2;\n  border-radius: 6px;\n  width: 620px;\n  max-width: 92vw;\n  max-height: 80vh;\n  display: flex;\n  flex-direction: column;\n  box-shadow: 0 16px 48px rgba(0,0,0,0.18);\n  animation: tjfs-modalSlide 0.22s ease both;\n  box-sizing: border-box;\n}\n\n@keyframes tjfs-modalSlide {\n  from { opacity: 0; transform: translateY(10px); }\n  to   { opacity: 1; transform: translateY(0); }\n}\n\n#tjfs-modal * { box-sizing: border-box; margin: 0; padding: 0; }\n\n#tjfs-modal .tjfs-mhead {\n  display: flex; align-items: center; justify-content: space-between;\n  padding: 14px 20px 12px; border-bottom: 1px solid #dedad2; flex-shrink: 0;\n}\n\n#tjfs-modal .tjfs-mtitle {\n  font-family: 'Noto Serif TC', serif; font-size: 16px; font-weight: 700; color: #1c1a16;\n}\n\n#tjfs-modal .tjfs-mclose {\n  background: none; border: none; cursor: pointer; color: #9a9890;\n  font-size: 20px; line-height: 1; padding: 2px 6px; border-radius: 3px;\n  transition: background 0.15s, color 0.15s;\n}\n\n#tjfs-modal .tjfs-mclose:hover { background: #e6f5f6; color: #2d8389; }\n\n#tjfs-modal .tjfs-mbody { flex: 1; overflow-y: auto; padding: 16px 20px; }\n#tjfs-modal .tjfs-mbody::-webkit-scrollbar { width: 4px; }\n#tjfs-modal .tjfs-mbody::-webkit-scrollbar-thumb { background: #b0dde0; border-radius: 2px; }\n\n#tjfs-modal .tjfs-mtext {\n  font-family: 'Noto Sans TC', sans-serif; font-size: 14px;\n  line-height: 1.9; color: #4e4c46; white-space: pre-wrap; user-select: all;\n}\n\n#tjfs-modal .tjfs-mfoot {\n  display: flex; align-items: center; justify-content: space-between;\n  padding: 11px 20px 13px; border-top: 1px solid #dedad2; flex-shrink: 0; gap: 12px;\n}\n\n#tjfs-modal .tjfs-mhint {\n  font-family: 'IBM Plex Mono', monospace; font-size: 11px;\n  color: #9a9890; letter-spacing: 0.05em;\n}\n\n#tjfs-modal .tjfs-copybtn {\n  font-family: 'Noto Sans TC', sans-serif; font-size: 13px; font-weight: 500;\n  padding: 8px 20px; border-radius: 3px; border: 1.5px solid #3dabb1;\n  background: #3dabb1; color: #fff; cursor: pointer;\n  transition: all 0.15s ease; flex-shrink: 0;\n}\n\n#tjfs-modal .tjfs-copybtn:hover { background: #2d8389; border-color: #2d8389; }\n#tjfs-modal .tjfs-copybtn.copied { background: #2c7a4b; border-color: #2c7a4b; }\n<\/style>\n\n<!-- \u2500\u2500 Widget \u2500\u2500 -->\n<div id=\"tjfs-slider-wrap\">\n\n  <div class=\"tjfs-slider\">\n\n    <div class=\"tjfs-header\">\n      <span class=\"tjfs-tag\">\u6307\u5357<\/span>\n      <span class=\"tjfs-title\">OpenCorporates<\/span>\n      <span class=\"tjfs-sub\">\u5168\u7403\u6cd5\u4eba\u5be6\u9ad4\u8cc7\u8a0a\u7684\u5168\u65b9\u4f4d\u8cc7\u6599\u5eab<\/span>\n    <\/div>\n\n    <div class=\"tjfs-body\">\n      <div class=\"tjfs-img-pane\">\n        <div class=\"tjfs-img-inner\" id=\"tjfsImgInner\"><\/div>\n        <div class=\"tjfs-badge\" id=\"tjfsBadge\"><\/div>\n        <div class=\"tjfs-callout\" id=\"tjfsCallout\"><\/div>\n      <\/div>\n      <div class=\"tjfs-divider\"><\/div>\n      <div class=\"tjfs-text-pane\">\n        <div class=\"tjfs-progress-track\">\n          <div class=\"tjfs-progress-fill\" id=\"tjfsProgress\"><\/div>\n        <\/div>\n        <div class=\"tjfs-text-scroll\" id=\"tjfsScroll\">\n          <span class=\"tjfs-step-label\" id=\"tjfsLabel\"><\/span>\n          <div class=\"tjfs-slide-text\" id=\"tjfsText\"><\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"tjfs-footer\">\n      <div class=\"tjfs-dots\" id=\"tjfsDots\"><\/div>\n      <div class=\"tjfs-counter\" id=\"tjfsCounter\"><\/div>\n      <div class=\"tjfs-btns\">\n        <button class=\"tjfs-btn dl\" onclick=\"tjfsOpenModal()\">\ud83d\udccb \u4e0b\u8f09\u8aaa\u660e\u6587\u5b57<\/button>\n        <button class=\"tjfs-btn\" id=\"tjfsPrev\" onclick=\"tjfsGo(-1)\">\u2190 \u4e0a\u4e00\u6b65<\/button>\n        <button class=\"tjfs-btn primary\" id=\"tjfsNext\" onclick=\"tjfsGo(1)\">\u4e0b\u4e00\u6b65 \u2192<\/button>\n      <\/div>\n    <\/div>\n\n  <\/div>\n<\/div>\n\n<!-- Modal -->\n<div id=\"tjfs-modal-overlay\" onclick=\"tjfsOverlayClick(event)\">\n  <div id=\"tjfs-modal\">\n    <div class=\"tjfs-mhead\">\n      <span class=\"tjfs-mtitle\">OpenCorporates\u6307\u5357 \u2014 \u6b65\u9a5f\u8aaa\u660e\u6587\u5b57<\/span>\n      <button class=\"tjfs-mclose\" onclick=\"tjfsCloseModal()\">\u2715<\/button>\n    <\/div>\n    <div class=\"tjfs-mbody\">\n      <div class=\"tjfs-mtext\" id=\"tjfsModalText\"><\/div>\n    <\/div>\n    <div class=\"tjfs-mfoot\">\n      <span class=\"tjfs-mhint\">\u5168\u9078\u6587\u5b57\u5f8c\u53ef\u76f4\u63a5\u8cbc\u4e0a\uff0c\u6216\u9ede\u64ca\u53f3\u5074\u6309\u9215\u8907\u88fd<\/span>\n      <button class=\"tjfs-copybtn\" id=\"tjfsCopyBtn\" onclick=\"tjfsCopyText()\">\u8907\u88fd\u5168\u6587<\/button>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- Lightbox -->\n<div id=\"tjfs-lightbox\" onclick=\"tjfsLbClose()\">\n  <button class=\"tjfs-lb-close\" onclick=\"tjfsLbClose()\">\u2715<\/button>\n  <img decoding=\"async\" id=\"tjfsLbImg\" src=\"\" alt=\"\">\n  <span class=\"tjfs-lb-hint\">\u6309\u4efb\u610f\u8655\u6216 ESC \u95dc\u9589<\/span>\n<\/div>\n\n<script>\n(function() {\n  var SLIDES = [\n    {\n      label: \"STEP 01\",\n      badge: \"\u6b65\u9a5f 1 \u2500\u2500 \u8a3b\u518a\u5e33\u6236\",\n      img: \"https:\/\/tian-jian.org\/tj-field-school\/wp-content\/uploads\/2026\/06\/OpenCorporates-Tutorial-1.jpg\",\n      callout: \"\u25bc \u9ede\u64ca\u8a3b\u518a\u9023\u7d50\",\n      html: \"OpenCorporates\u662f\u5168\u7403\u6cd5\u4eba\u5be6\u9ad4\u8cc7\u6599\u7684\u6b0a\u5a01\u4f86\u6e90\u3002\u81ea2023\u5e748\u6708\u8d77\uff0c<span class=\\\"ht\\\">\u8463\u4e8b\u8cc7\u8a0a<\/span>\u3001<span class=\\\"ht\\\">\u5be6\u969b\u53d7\u76ca\u4eba<\/span>\u7b49\u95dc\u9375\u8cc7\u6599\u9700\u8a3b\u518a\u5f8c\u67e5\u95b1\u3002<br><br>\u514d\u8cbb\u5e33\u6236\u6db5\u84cb<span class=\\\"hg\\\">\u8a18\u8005\u3001NGO\u53ca\u5b78\u8853\u4eba\u54e1<\/span>\u4f7f\u7528\uff0c\u4f46\u4e0d\u5305\u62ec\u91d1\u878d\u6a5f\u69cb\u3001\u4f01\u696d\u53ca\u653f\u5e9c\u6a5f\u95dc\u3002\u53ef\u7528\u96fb\u5b50\u90f5\u4ef6\u6216LinkedIn\u8a3b\u518a\u3002\",\n      plain: \"\u6b65\u9a5f\u4e00\uff1a\u8a3b\u518a\u5e33\u6236\\n\\nOpenCorporates\u662f\u5168\u7403\u6cd5\u4eba\u5be6\u9ad4\u8cc7\u6599\u7684\u6b0a\u5a01\u4f86\u6e90\u3002\u81ea2023\u5e748\u6708\u8d77\uff0c\u8463\u4e8b\u8cc7\u8a0a\u3001\u5be6\u969b\u53d7\u76ca\u4eba\u7b49\u95dc\u9375\u8cc7\u6599\u9700\u8a3b\u518a\u5f8c\u67e5\u95b1\u3002\\n\\n\u514d\u8cbb\u5e33\u6236\u6db5\u84cb\u8a18\u8005\u3001NGO\u53ca\u5b78\u8853\u4eba\u54e1\u4f7f\u7528\uff0c\u4f46\u4e0d\u5305\u62ec\u91d1\u878d\u6a5f\u69cb\u3001\u4f01\u696d\u53ca\u653f\u5e9c\u6a5f\u95dc\u3002\u53ef\u7528\u96fb\u5b50\u90f5\u4ef6\u6216LinkedIn\u8a3b\u518a\u3002\"\n    },\n    {\n      label: \"STEP 02\",\n      badge: \"\u6b65\u9a5f 2 \u2500\u2500 \u57fa\u672c\u641c\u5c0b\",\n      img: \"https:\/\/tian-jian.org\/tj-field-school\/wp-content\/uploads\/2026\/06\/OpenCorporates-a.jpg\",\n      callout: \"\u25bc \u8f38\u5165\u641c\u5c0b\u95dc\u9375\u8a5e\",\n      html: \"\u767b\u5165\u5f8c\u53ef\u898b<span class=\\\"ht\\\">\u7c21\u55ae\u641c\u5c0b\u6b04<\/span>\u53ca\u9032\u968e\u641c\u5c0b\u9078\u9805\u3002\u5f9e\u6cd5\u4eba\u5be6\u9ad4\u5207\u5165\u53ef\u8fc5\u901f\u638c\u63e1\u7576\u5730\u884c\u70ba\u8005\uff0c\u767c\u73fe\u672a\u88ab\u5831\u5c0e\u7684\u516c\u53f8\u6d3b\u52d5\u3002<br><br>\u5617\u8a66\u8f38\u5165 <span class=\\\"hg\\\">\u300cChina Africa Media\u300d<\/span>\uff0c\u7cfb\u7d71\u5c07\u8996\u70ba\u7368\u7acb\u95dc\u9375\u8a5e\u4e26\u8fd4\u56de\u76f8\u95dc\u7d50\u679c\u3002\",\n      plain: \"\u6b65\u9a5f\u4e8c\uff1a\u57fa\u672c\u641c\u5c0b\\n\\n\u767b\u5165\u5f8c\u53ef\u898b\u7c21\u55ae\u641c\u5c0b\u6b04\u53ca\u9032\u968e\u641c\u5c0b\u9078\u9805\u3002\u5f9e\u6cd5\u4eba\u5be6\u9ad4\u5207\u5165\u53ef\u8fc5\u901f\u638c\u63e1\u7576\u5730\u884c\u70ba\u8005\uff0c\u767c\u73fe\u672a\u88ab\u5831\u5c0e\u7684\u516c\u53f8\u6d3b\u52d5\u3002\\n\\n\u5617\u8a66\u8f38\u5165\u300cChina Africa Media\u300d\uff0c\u7cfb\u7d71\u5c07\u8996\u70ba\u7368\u7acb\u95dc\u9375\u8a5e\u4e26\u8fd4\u56de\u76f8\u95dc\u7d50\u679c\u3002\"\n    },\n    {\n      label: \"STEP 03\",\n      badge: \"\u6b65\u9a5f 3 \u2500\u2500 \u5206\u6790\u7d50\u679c\",\n      img: \"https:\/\/tian-jian.org\/tj-field-school\/wp-content\/uploads\/2026\/06\/OpenCorporates-1b.jpg\",\n      callout: \"\u25bc \u9ede\u64ca\u516c\u53f8\u540d\u7a31\",\n      html: \"\u641c\u5c0b\u767c\u73fe\u5169\u5bb6\u516c\u53f8\uff0c\u5176\u4e2d<span class=\\\"ht\\\">\u56db\u9054\u6642\u4ee3\uff08StarTimes\uff09<\/span>\u662f\u975e\u6d32\u91cd\u8981\u7684\u4e2d\u570b\u5a92\u9ad4\u5e1d\u570b\u3002<br><br>\u95dc\u9375\u767c\u73fe\uff1a\u4f01\u696d\u93c8\u4e2d\u6709\u4e00\u5bb6\u9999\u6e2f\u8a3b\u518a\u516c\u53f8 <span class=\\\"hg\\\">\u300cSTARTIMES CHINA-AFRICA DIGITAL TELEVISION MEDIA CO., LIMITED\u300d<\/span> \u503c\u5f97\u6df1\u5165\u8abf\u67e5\u3002\",\n      plain: \"\u6b65\u9a5f\u4e09\uff1a\u5206\u6790\u7d50\u679c\\n\\n\u641c\u5c0b\u767c\u73fe\u5169\u5bb6\u516c\u53f8\uff0c\u5176\u4e2d\u56db\u9054\u6642\u4ee3\uff08StarTimes\uff09\u662f\u975e\u6d32\u91cd\u8981\u7684\u4e2d\u570b\u5a92\u9ad4\u5e1d\u570b\u3002\\n\\n\u95dc\u9375\u767c\u73fe\uff1a\u4f01\u696d\u93c8\u4e2d\u6709\u4e00\u5bb6\u9999\u6e2f\u8a3b\u518a\u516c\u53f8\u300cSTARTIMES CHINA-AFRICA DIGITAL TELEVISION MEDIA CO., LIMITED\u300d\u503c\u5f97\u6df1\u5165\u8abf\u67e5\u3002\"\n    },\n    {\n      label: \"STEP 04\",\n      badge: \"\u6b65\u9a5f 4 \u2500\u2500 \u67e5\u770b\u8a73\u60c5\",\n      img: \"https:\/\/tian-jian.org\/tj-field-school\/wp-content\/uploads\/2026\/06\/Open-StarTimes-HK-info.jpg\",\n      callout: \"\u25bc \u67e5\u770b\u8a3b\u518a\u7de8\u865f\",\n      html: \"\u516c\u53f8\u9801\u9762\u986f\u793a<span class=\\\"ht\\\">\u9999\u6e2f\u8a3b\u518a\u7de8\u865f<\/span>\u3001\u6210\u7acb\u985e\u578b\u3001\u66fe\u7528\u540d\u53ca\u7e41\u9ad4\u4e2d\u6587\u540d\u7a31 <span class=\\\"hg\\\">\u300c\u56db\u9054\u6642\u4ee3\u4e2d\u975e\u6578\u5b57\u96fb\u8996\u50b3\u5a92\u6709\u9650\u516c\u53f8\u300d<\/span>\u3002<br><br>\u8a3b\u518a\u7de8\u865f\u53ef\u7528\u65bc\u76f4\u63a5\u5728<span class=\\\"ht\\\">\u9999\u6e2f\u767b\u8a18\u518a<\/span>\u67e5\u627e\uff0c\u66fe\u7528\u540d\u4e5f\u53ef\u80fd\u5e36\u4f86\u6709\u8da3\u7684\u641c\u5c0b\u7d50\u679c\u3002\",\n      plain: \"\u6b65\u9a5f\u56db\uff1a\u67e5\u770b\u8a73\u60c5\\n\\n\u516c\u53f8\u9801\u9762\u986f\u793a\u9999\u6e2f\u8a3b\u518a\u7de8\u865f\u3001\u6210\u7acb\u985e\u578b\u3001\u66fe\u7528\u540d\u53ca\u7e41\u9ad4\u4e2d\u6587\u540d\u7a31\u300c\u56db\u9054\u6642\u4ee3\u4e2d\u975e\u6578\u5b57\u96fb\u8996\u50b3\u5a92\u6709\u9650\u516c\u53f8\u300d\u3002\\n\\n\u8a3b\u518a\u7de8\u865f\u53ef\u7528\u65bc\u76f4\u63a5\u5728\u9999\u6e2f\u767b\u8a18\u518a\u67e5\u627e\uff0c\u66fe\u7528\u540d\u4e5f\u53ef\u80fd\u5e36\u4f86\u6709\u8da3\u7684\u641c\u5c0b\u7d50\u679c\u3002\"\n    },\n    {\n      label: \"STEP 05\",\n      badge: \"\u6b65\u9a5f 5 \u2500\u2500 \u8ffd\u8e64\u8463\u4e8b\",\n      img: \"https:\/\/tian-jian.org\/tj-field-school\/wp-content\/uploads\/2026\/06\/C-A-Development-Fund.jpg\",\n      callout: \"\u25bc \u6ce8\u610f\u8463\u4e8b\u8cc7\u8a0a\",\n      html: \"\u5f9e2026\u5e74\u5e74\u5831\u767c\u73fe\u8463\u4e8b<span class=\\\"hg\\\">\u4e2d\u975e\u767c\u5c55\u57fa\u91d1\u6709\u9650\u516c\u53f8<\/span>\u96b8\u5c6c<span class=\\\"ht\\\">\u570b\u5bb6\u958b\u767c\u9280\u884c<\/span>\u3002\u53ef\u641c\u5c0b\u8463\u4e8b\u5730\u5740 <span class=\\\"hg\\\">\u300cNo. 29, Fuchengmenwai Street\u300d<\/span> \u78ba\u8a8d\u8207\u570b\u958b\u884c\u95dc\u806f\u3002<br><br>\u9019\u5c55\u793a\u4e86\u5982\u4f55\u900f\u904e\u6cd5\u4eba\u5be6\u9ad4\u767c\u73fe<span class=\\\"ht\\\">\u653f\u5e9c\u6a5f\u69cb\u9023\u7d50<\/span>\u3002\",\n      plain: \"\u6b65\u9a5f\u4e94\uff1a\u8ffd\u8e64\u8463\u4e8b\\n\\n\u5f9e2026\u5e74\u5e74\u5831\u767c\u73fe\u8463\u4e8b\u4e2d\u975e\u767c\u5c55\u57fa\u91d1\u6709\u9650\u516c\u53f8\u96b8\u5c6c\u570b\u5bb6\u958b\u767c\u9280\u884c\u3002\u53ef\u641c\u5c0b\u8463\u4e8b\u5730\u5740\u300cNo. 29, Fuchengmenwai Street\u300d\u78ba\u8a8d\u8207\u570b\u958b\u884c\u95dc\u806f\u3002\\n\\n\u9019\u5c55\u793a\u4e86\u5982\u4f55\u900f\u904e\u6cd5\u4eba\u5be6\u9ad4\u767c\u73fe\u653f\u5e9c\u6a5f\u69cb\u9023\u7d50\u3002\"\n    },\n    {\n      label: \"STEP 06\",\n      badge: \"\u6b65\u9a5f 6 \u2500\u2500 \u641c\u5c0b\u4eba\u54e1\",\n      img: \"https:\/\/tian-jian.org\/tj-field-school\/wp-content\/uploads\/2026\/06\/Gu-Xun.jpg\",\n      callout: \"\u25bc \u9ede\u9078Officers\u9078\u9805\u6b04\",\n      html: \"\u5229\u7528\u5e74\u5831\u4e2d\u7684\u4eba\u54e1\u8cc7\u8a0a\uff0c\u5728OpenCorporates\u641c\u5c0b <span class=\\\"hg\\\">\u300c\u9867\u6f6f\u300d\uff08Gu Xun\uff09<\/span>\u3002<br><br>\u9ede\u9078\u9801\u9762\u9802\u90e8 <span class=\\\"ht\\\">\u300cOfficers\u300d<\/span> \u9078\u9805\u6b04\uff0c\u8f38\u5165\u4eba\u540d\u641c\u5c0b\u53ef\u767c\u73fe\u8a72\u4eba\u54e1\u5728\u5176\u4ed6\u516c\u53f8\u7684\u8077\u52d9\uff0c\u64f4\u5927\u8abf\u67e5\u7bc4\u570d\u3002\",\n      plain: \"\u6b65\u9a5f\u516d\uff1a\u641c\u5c0b\u4eba\u54e1\\n\\n\u5229\u7528\u5e74\u5831\u4e2d\u7684\u4eba\u54e1\u8cc7\u8a0a\uff0c\u5728OpenCorporates\u641c\u5c0b\u300c\u9867\u6f6f\u300d\uff08Gu Xun\uff09\u3002\\n\\n\u9ede\u9078\u9801\u9762\u9802\u90e8\u300cOfficers\u300d\u9078\u9805\u6b04\uff0c\u8f38\u5165\u4eba\u540d\u641c\u5c0b\u53ef\u767c\u73fe\u8a72\u4eba\u54e1\u5728\u5176\u4ed6\u516c\u53f8\u7684\u8077\u52d9\uff0c\u64f4\u5927\u8abf\u67e5\u7bc4\u570d\u3002\"\n    },\n    {\n      label: \"STEP 07\",\n      badge: \"\u6b65\u9a5f 7 \u2500\u2500 \u767c\u73fe\u95dc\u806f\",\n      img: \"https:\/\/tian-jian.org\/tj-field-school\/wp-content\/uploads\/2026\/06\/Gu-Xun2.jpg\",\n      callout: \"\u25bc \u6ce8\u610f\u76f8\u95dc\u516c\u53f8\u540d\u7a31\",\n      html: \"\u641c\u5c0b\u7d50\u679c\u986f\u793a\u300cGu Xun\u300d\u5728\u7f8e\u570b\u6709<span class=\\\"ht\\\">4\u7b46\u8a18\u9304<\/span>\uff0c\u66f4\u91cd\u8981\u7684\u662f\u767c\u73fe <span class=\\\"hg\\\">\u300cSTARTIMES SOFTWARE TECH (INDIA) PRIVATE LIMITED\u300d<\/span>\u3002<br><br>\u9019\u63ed\u793a\u56db\u9054\u6642\u4ee3\u5728<span class=\\\"ht\\\">\u5370\u5ea6<\/span>\u4e5f\u6709\u696d\u52d9\u4f48\u5c40\uff0c\u63d0\u4f9b\u65b0\u7684\u8abf\u67e5\u7dda\u7d22\u3002\u53ef\u4f7f\u7528\u9032\u968e\u641c\u5c0b\u529f\u80fd\u9032\u884c\u66f4\u6df1\u5165\u63a2\u7d22\u3002\",\n      plain: \"\u6b65\u9a5f\u4e03\uff1a\u767c\u73fe\u95dc\u806f\\n\\n\u641c\u5c0b\u7d50\u679c\u986f\u793a\u300cGu Xun\u300d\u5728\u7f8e\u570b\u67094\u7b46\u8a18\u9304\uff0c\u66f4\u91cd\u8981\u7684\u662f\u767c\u73fe\u300cSTARTIMES SOFTWARE TECH (INDIA) PRIVATE LIMITED\u300d\u3002\\n\\n\u9019\u63ed\u793a\u56db\u9054\u6642\u4ee3\u5728\u5370\u5ea6\u4e5f\u6709\u696d\u52d9\u4f48\u5c40\uff0c\u63d0\u4f9b\u65b0\u7684\u8abf\u67e5\u7dda\u7d22\u3002\u53ef\u4f7f\u7528\u9032\u968e\u641c\u5c0b\u529f\u80fd\u9032\u884c\u66f4\u6df1\u5165\u63a2\u7d22\u3002\"\n    }\n  ];\n\n  var cur = 0;\n\n  function tjfsRender() {\n    var s = SLIDES[cur];\n    var scroll = document.getElementById('tjfsScroll');\n    scroll.classList.add('tjfs-fading');\n    setTimeout(function() {\n      var inner = document.getElementById('tjfsImgInner');\n      var oldImg = inner.querySelector('img');\n      var oldPh  = inner.querySelector('.tjfs-placeholder');\n      if (s.img) {\n        if (oldPh) oldPh.remove();\n        var img = oldImg;\n        if (!img) { img = document.createElement('img'); img.alt = '\u64cd\u4f5c\u622a\u5716'; inner.appendChild(img); }\n        img.classList.add('tjfs-fading');\n        img.src = s.img;\n        img.onload = function() { img.classList.remove('tjfs-fading'); };\n      } else {\n        if (oldImg) oldImg.remove();\n        if (!inner.querySelector('.tjfs-placeholder')) {\n          var ph = document.createElement('div');\n          ph.className = 'tjfs-placeholder';\n          ph.innerHTML = '<div class=\"tjfs-ph-icon\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#3dabb1\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"2\" y=\"3\" width=\"20\" height=\"14\" rx=\"2\"\/><line x1=\"8\" y1=\"21\" x2=\"16\" y2=\"21\"\/><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"21\"\/><\/svg><\/div><span>\u622a\u5716\u5f85\u4e0a\u50b3<\/span>';\n          inner.appendChild(ph);\n        }\n      }\n\n      document.getElementById('tjfsBadge').textContent = s.badge;\n      var callout = document.getElementById('tjfsCallout');\n      callout.textContent = s.callout || '';\n      callout.classList.toggle('visible', !!s.callout);\n      document.getElementById('tjfsLabel').textContent = s.label;\n      document.getElementById('tjfsText').innerHTML = s.html;\n      scroll.scrollTop = 0;\n      document.getElementById('tjfsProgress').style.width = ((cur+1)\/SLIDES.length*100)+'%';\n      document.getElementById('tjfsCounter').textContent = (cur+1)+' \/ '+SLIDES.length;\n      document.getElementById('tjfsPrev').disabled = cur === 0;\n      var nxt = document.getElementById('tjfsNext');\n      nxt.textContent = cur === SLIDES.length-1 ? '\u5b8c\u6210 \u2713' : '\u4e0b\u4e00\u6b65 \u2192';\n      nxt.disabled = cur === SLIDES.length-1;\n\n      var dotsEl = document.getElementById('tjfsDots');\n      dotsEl.innerHTML = '';\n      SLIDES.forEach(function(_, i) {\n        var d = document.createElement('button');\n        d.className = 'tjfs-dot'+(i===cur?' active':i<cur?' done':'');\n        d.title = '\u6b65\u9a5f '+(i+1);\n        d.onclick = function() { cur=i; tjfsRender(); };\n        dotsEl.appendChild(d);\n      });\n\n      scroll.classList.remove('tjfs-fading');\n    }, 190);\n  }\n\n  function tjfsGo(dir) {\n    var next = cur+dir;\n    if (next<0||next>=SLIDES.length) return;\n    cur=next; tjfsRender();\n  }\n\n  function tjfsOpenModal() {\n    var text = SLIDES.map(function(s,i){ return s.plain||('\u6b65\u9a5f'+(i+1)+'\\n\\n\uff08\u5f85\u88dc\uff09'); })\n                     .join('\\n\\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\\n\\n');\n    document.getElementById('tjfsModalText').textContent = text;\n    document.getElementById('tjfsCopyBtn').textContent = '\u8907\u88fd\u5168\u6587';\n    document.getElementById('tjfsCopyBtn').classList.remove('copied');\n    document.getElementById('tjfs-modal-overlay').classList.add('open');\n  }\n\n  function tjfsCloseModal() {\n    document.getElementById('tjfs-modal-overlay').classList.remove('open');\n  }\n\n  function tjfsOverlayClick(e) {\n    if (e.target===document.getElementById('tjfs-modal-overlay')) tjfsCloseModal();\n  }\n\n  function tjfsCopyText() {\n    var text = document.getElementById('tjfsModalText').textContent;\n    var btn = document.getElementById('tjfsCopyBtn');\n    function done() {\n      btn.textContent='\u2713 \u5df2\u8907\u88fd'; btn.classList.add('copied');\n      setTimeout(function(){ btn.textContent='\u8907\u88fd\u5168\u6587'; btn.classList.remove('copied'); },2200);\n    }\n    if (navigator.clipboard) { navigator.clipboard.writeText(text).then(done).catch(done); }\n    else {\n      var r=document.createRange();\n      r.selectNodeContents(document.getElementById('tjfsModalText'));\n      window.getSelection().removeAllRanges();\n      window.getSelection().addRange(r);\n      document.execCommand('copy');\n      window.getSelection().removeAllRanges();\n      done();\n    }\n  }\n\n  document.addEventListener('keydown', function(e){\n    if(e.key==='Escape') { tjfsCloseModal(); tjfsLbClose(); }\n    if(e.key==='ArrowRight') tjfsGo(1);\n    if(e.key==='ArrowLeft')  tjfsGo(-1);\n  });\n\n  \/\/ \u2500\u2500 Lightbox \u2500\u2500\n  function tjfsLbOpen(src) {\n    if (!src) return;\n    document.getElementById('tjfsLbImg').src = src;\n    document.getElementById('tjfs-lightbox').classList.add('open');\n    document.body.style.overflow = 'hidden';\n  }\n\n  function tjfsLbClose() {\n    document.getElementById('tjfs-lightbox').classList.remove('open');\n    document.body.style.overflow = '';\n  }\n\n  document.getElementById('tjfsImgInner').addEventListener('click', function() {\n    var img = this.querySelector('img');\n    if (img && img.src) tjfsLbOpen(img.src);\n  });\n\n  window.tjfsLbOpen = tjfsLbOpen;\n  window.tjfsLbClose = tjfsLbClose;\n  window.tjfsGo = tjfsGo;\n  window.tjfsOpenModal = tjfsOpenModal;\n  window.tjfsCloseModal = tjfsCloseModal;\n  window.tjfsOverlayClick = tjfsOverlayClick;\n  window.tjfsCopyText = tjfsCopyText;\n\n  \/\/ \u2500\u2500 Lock card height to image aspect ratio \u2500\u2500\n  function tjfsFixHeight() {\n    var card   = document.querySelector('#tjfs-slider-wrap .tjfs-slider');\n    var header = document.querySelector('#tjfs-slider-wrap .tjfs-header');\n    var footer = document.querySelector('#tjfs-slider-wrap .tjfs-footer');\n    if (!card) return;\n    var cardW   = card.offsetWidth;\n    var imgH    = Math.round((cardW * 0.58) * (4\/5));\n    var headerH = header ? header.offsetHeight : 46;\n    var footerH = footer ? footer.offsetHeight : 50;\n    card.style.height = (imgH + headerH + footerH) + 'px';\n  }\n\n  tjfsFixHeight();\n  window.addEventListener('resize', tjfsFixHeight);\n  tjfsRender();\n\n})();\n<\/script>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u9019\u9805\u5de5\u4f5c\u7684\u91cd\u8981\u6027\uff0c\u5728\u7576\u4eca\u5168\u7403\u8abf\u67e5\u5831\u5c0e\u9818\u57df\u4e2d\u6108\u767c\u51f8\u986f\u3002\u5168\u7403\u8abf\u67e5\u6027\u65b0\u805e\u7db2\u7d61\uff08GIJN\uff09\u8fd1\u671f<a href=\"https:\/\/gijn.org\/stories\/tips-for-investigating-new-oligarchs-and-novel-corruption-ploys\/?utm_campaign=110818522-Parent%20%7C%20Brand%20%7C%20Thought%20Leadership%20%7C%202025&amp;utm_content=423409854&amp;utm_medium=social&amp;utm_source=linkedin&amp;hss_channel=lcp-5083273\">\u767c\u8868\u4e86\u4e00\u7bc7\u6df1\u5ea6\u6587\u7ae0<\/a>\uff0c\u63a2\u8a0e\u5982\u4f55\u8ffd\u67e5\u65b0\u4e00\u4ee3\u5be1\u982d\u7684\u96b1\u533f\u8ca1\u5bcc\u8207\u65b0\u578b\u8150\u6557\u624b\u6cd5\u2014\u2014\u9019\u6b63\u662fOpenCorporates\u6240\u652f\u6490\u7684\u6838\u5fc3\u8abf\u67e5\u5de5\u4f5c\u4e4b\u4e00\u3002\u6587\u7ae0\u6307\u51fa\uff0c\u7121\u8ad6\u662f\u4e32\u901a\u5a01\u6b0a\u653f\u5e9c\u7684\u5546\u696d\u83c1\u82f1\u3001\u63a0\u596a\u516c\u5171\u8cc7\u6e90\u7684\u6b0a\u8cb4\uff0c\u9084\u662f\u8de8\u5883\u96b1\u533f\u8cc7\u7522\u7684\u91d1\u878d\u64cd\u76e4\u624b\uff0c\u4f01\u696d\u767b\u8a18\u8cc7\u6599\u5f80\u5f80\u662f\u63ed\u958b\u771f\u76f8\u7684\u7b2c\u4e00\u628a\u9470\u5319\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>OpenCorporates\u662f\u5168\u7403\u6700\u5927\u7684\u958b\u653e\u5f0f\u6cd5\u4eba\u5be6\u9ad4\u8cc7\u6599\u5eab\uff0c\u8ffd\u8e64\u4f01\u696d\u7d50\u69cb\u3001\u91d0\u6e05\u7522\u6b0a\u95dc\u4fc2\u3002<\/p>\n","protected":false},"featured_media":3457,"template":"","toolbox-type":[],"class_list":["post-1461","toolbox","type-toolbox","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/tian-jian.org\/tj-field-school\/wp-json\/wp\/v2\/toolbox\/1461","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tian-jian.org\/tj-field-school\/wp-json\/wp\/v2\/toolbox"}],"about":[{"href":"https:\/\/tian-jian.org\/tj-field-school\/wp-json\/wp\/v2\/types\/toolbox"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/tian-jian.org\/tj-field-school\/wp-json\/wp\/v2\/media\/3457"}],"wp:attachment":[{"href":"https:\/\/tian-jian.org\/tj-field-school\/wp-json\/wp\/v2\/media?parent=1461"}],"wp:term":[{"taxonomy":"toolbox-type","embeddable":true,"href":"https:\/\/tian-jian.org\/tj-field-school\/wp-json\/wp\/v2\/toolbox-type?post=1461"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}