Files
KSP_project/data/wiki/guanghan_ghc01_zh.html

281 lines
26 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<style>
body:has(.wiki-article) .page-header-section { display: none !important; }
@media (min-width: 1264px) {
body:has(.wiki-article) .page-col-sd { top: 118px !important; }
}
.wiki-article { max-width: 1180px; margin: 0 auto; padding: 24px 32px 48px; color: #202122; background: #fff; font-family: sans-serif; font-size: 15px; line-height: 1.65; }
.wiki-article h1, .wiki-article h2 { color: #202122 !important; font-family: "Linux Libertine", Georgia, "Noto Serif SC", "Songti SC", serif; font-weight: normal; border-bottom: 1px solid #a2a9b1; }
.wiki-article h1 { margin: 0 0 0.35em !important; font-size: 2em; line-height: 1.3; }
.wiki-article h2 { clear: none; overflow: hidden; margin: 1em 0 0.45em; padding-bottom: 0.12em; font-size: 1.5em; line-height: 1.35; }
.wiki-article h3 { margin: 1.1em 0 0.35em; font-size: 1.18em; font-weight: bold; }
.wiki-article p { margin: 0.5em 0 1em; }
.wiki-article .infobox-overlap-section { min-width: 0; overflow: hidden; }
.wiki-article .infobox-overlap-section .wikitable { table-layout: fixed; overflow-wrap: anywhere; }
.wiki-article a { color: #36c; text-decoration: none; }
.wiki-article a:hover { text-decoration: underline; }
.wiki-article ul, .wiki-article ol { margin: 0.4em 0 1em 1.65em; padding: 0; }
.wiki-article li { margin-bottom: 0.25em; }
.wiki-article table.infobox { float: right; clear: right; width: 360px; margin: 0 0 24px 48px !important; border: 1px solid #a2a9b1 !important; border-collapse: separate !important; border-spacing: 0 !important; table-layout: fixed; background: #f8f9fa; font-size: 84%; line-height: 1.45; }
.wiki-article .infobox caption { padding: 9px 12px; background: #eaecf0; border: 1px solid #a2a9b1; border-bottom: 0; font-weight: bold; font-size: 1.15em; line-height: 1.35; }
.wiki-article .infobox caption span { display: block; margin-top: 3px; color: #54595d; font-size: 0.86em; font-weight: normal; }
.wiki-article .infobox th, .wiki-article .infobox td { border: 0 !important; box-shadow: none !important; vertical-align: top; }
.wiki-article table.infobox th.infobox-label { width: 31%; padding: 7px 5px 7px 11px !important; background: #f8f9fa !important; box-shadow: inset 0 1px 0 #eaecf0 !important; color: #54595d; text-align: left; font-weight: 600; white-space: nowrap; }
.wiki-article table.infobox td.infobox-data { width: 69%; padding: 7px 11px 7px 7px !important; background: #f8f9fa !important; box-shadow: inset 0 1px 0 #eaecf0 !important; color: #202122; }
.wiki-article .infobox-section th { padding: 6px 9px !important; border-top: 1px solid #a2a9b1 !important; border-bottom: 1px solid #a2a9b1 !important; background: #eaecf0 !important; color: #202122; text-align: center; font-weight: bold; }
.wiki-article .infobox-image { padding: 8px 10px 5px !important; border: 0 !important; background: #f8f9fa !important; text-align: center; }
.wiki-article .infobox-image img { display: block; width: 100%; height: auto; cursor: pointer; }
.wiki-article .thumbcaption { padding: 4px 3px 2px; color: #202122; font-size: 0.88em; line-height: 1.4; text-align: left; }
.wiki-article .infobox .thumbcaption { padding: 4px 0 2px; text-align: center; }
.wiki-article .wikitable { width: 100%; margin: 1em 0; border: 1px solid #a2a9b1; border-collapse: collapse; background: #f8f9fa; font-size: 90%; }
.wiki-article .wikitable th, .wiki-article .wikitable td { padding: 6px 8px; border: 1px solid #a2a9b1; text-align: left; vertical-align: top; }
.wiki-article .wikitable th { background: #eaecf0; font-weight: bold; }
.wiki-article blockquote { border-left: 3px solid #a2a9b1; padding-left: 14px; margin: 12px 0; color: #54595d; }
.wiki-article .topology-embed-shell { margin: 1em 0 1.4em; border: 1px solid #a2a9b1; overflow: hidden; background: #f8f9fa; }
.wiki-article #topology { scroll-margin-top: 88px; }
.wiki-article .topology-embed-host { min-height: 420px; overflow: hidden; background: #f4f7fb; color: #54595d; }
.wiki-article .topology-embed-frame { display: block; width: 100%; height: 1450px; border: 0; background: #f4f7fb; }
.wiki-article .topology-caption { margin: 0; padding: 7px 10px; border-top: 1px solid #a2a9b1; background: #f8f9fa; color: #202122; font-size: 0.84em; line-height: 1.45; }
.wiki-article .topology-caption a { white-space: nowrap; }
@media (min-width: 821px) and (max-width: 1279px) {
.wiki-article .topology-embed-frame { width: 125%; height: 1450px; margin-bottom: -290px; transform: scale(0.8); transform-origin: top left; }
}
@media (min-width: 1280px) and (max-width: 1500px) {
.wiki-article .topology-embed-frame { width: 170%; height: 1450px; margin-bottom: -597px; transform: scale(0.588235); transform-origin: top left; }
}
@media (min-width: 601px) and (max-width: 820px) {
.wiki-article .wikitable { display: block; overflow-x: auto; white-space: nowrap; }
.wiki-article .topology-embed-frame { width: 200%; height: 1600px; margin-bottom: -800px; transform: scale(0.5); transform-origin: top left; }
}
@media (max-width: 600px) {
.wiki-article { padding: 18px 14px 36px; font-size: 14px; }
.wiki-article h1 { font-size: 1.8em; }
.wiki-article table.infobox { float: none; width: 100%; margin: 0.75em 0 1em !important; }
.wiki-article .wikitable { display: block; overflow-x: auto; white-space: nowrap; }
.wiki-article .topology-embed-frame { width: 300%; height: 1600px; margin-bottom: -1066.67px; transform: scale(0.333333); transform-origin: top left; }
}
.wiki-article img[data-wiki-asset] { cursor: zoom-in; }
.wiki-image-lightbox { position: fixed; inset: 0; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(32,33,34,0.84); z-index: 10000; box-sizing: border-box; }
.wiki-image-lightbox[hidden] { display: none; }
.wiki-image-lightbox-panel { position: relative; width: min(1120px, 96vw); max-height: 92vh; overflow: auto; margin: 0; padding: 10px; border: 1px solid #a2a9b1; background: #fff; box-shadow: 0 12px 38px rgba(0,0,0,0.35); box-sizing: border-box; }
.wiki-image-lightbox-panel img { display: block; width: 100%; height: auto; max-height: 82vh; object-fit: contain; background: #000; }
.wiki-image-lightbox-close { position: sticky; top: 0; float: right; width: 30px; height: 30px; margin: -2px -2px 8px 10px; border: 1px solid #a2a9b1; background: #eaecf0; color: #202122; font-weight: bold; line-height: 26px; cursor: pointer; }
.wiki-image-lightbox-close:hover, .wiki-image-lightbox-close:focus { background: #fff; }
body.wiki-image-lightbox-open { overflow: hidden; }
@media (max-width: 820px) { .wiki-image-lightbox { padding: 12px; } .wiki-image-lightbox-panel { width: 98vw; max-height: 94vh; } }
</style>
<article class="mw-parser-output wiki-article">
<h1 id="top">广寒基地建设任务-01</h1>
<table class="infobox">
<caption>GHC-01<span>广寒计划 · 月面基地第一步</span></caption>
<tbody>
<tr><td class="infobox-image" colspan="2"><img src="/guanghan-ghc-01/cz16_launch_core.png" data-wiki-asset="/guanghan-ghc-01/cz16_launch_core.png" alt="CZ-16发射核心舱"><div class="thumbcaption">CZ-16 搭载广寒核心舱升空,使用 12 m 整流罩</div></td></tr>
<tr class="infobox-section"><th colspan="2">任务概况</th></tr>
<tr><th class="infobox-label" scope="row">任务编号</th><td class="infobox-data">GHC-01</td></tr>
<tr><th class="infobox-label" scope="row">所属计划</th><td class="infobox-data"><a href="/home/mission/Guanghan_Program">广寒计划</a></td></tr>
<tr><th class="infobox-label" scope="row">状态</th><td class="infobox-data">✅ 成功</td></tr>
<tr class="infobox-section"><th colspan="2">发射与着陆</th></tr>
<tr><th class="infobox-label" scope="row">发射日期</th><td class="infobox-data">2024-05-27 03:10</td></tr>
<tr><th class="infobox-label" scope="row">运载火箭</th><td class="infobox-data"><a href="/home/Launch_Vehicles/CZ-16">CZ-16</a>12 m 整流罩)</td></tr>
<tr><th class="infobox-label" scope="row">载荷</th><td class="infobox-data">广寒月面基地核心舱 + 转移级 + 临时服务舱段</td></tr>
<tr><th class="infobox-label" scope="row">着陆日期</th><td class="infobox-data">2024-06-16 07:23</td></tr>
<tr><th class="infobox-label" scope="row">着陆点</th><td class="infobox-data">月球东方海(冰轮 ISRU 旁)</td></tr>
<tr><th class="infobox-label" scope="row">任务导航</th><td class="infobox-data"><a href="/home/mission/Guanghan_Program/GHC-02">GHC-02</a></td></tr>
</tbody>
</table>
<p><b>广寒基地建设任务-01</b>是广寒月面基地首个永久结构件——核心舱——的部署任务。2024 年 5 月 27 日,长征十六号运载火箭使用其最大规格的 12 m 直径整流罩将核心舱送入地月转移轨道。经过约 5 天的标准地月转移,核心舱—转移级组合体于 6 月 1 日执行近月制动进入 100×100 km LLO。随后在 LLO 等待约 15 天——利用这段窗口等待期进行系统全面自检和着陆点最终确认——于 6 月 16 日动力下降着陆于东方海冰轮一号 ISRU 着陆器旁。核心舱内设有气闸舱、基础环境控制与生命保障系统(ECLSS)和航电控制台,维持标准氮氧大气,着陆后转入低功耗待命模式,等待 广寒基地建设任务-02 首次载人乘组抵达激活。</p>
<section class="infobox-overlap-section" aria-labelledby="background">
<h2 id="background">任务背景</h2>
<p><b>广寒基地建设任务-01</b>是广寒计划的第四次发射、第三次月面着陆,也是广寒月面基地首个永久结构件——核心舱——的部署任务。作为连接无人基建与载人运营之间的硬件桥梁,广寒基地建设任务-01 的目标明确而单一:将一座设有气闸舱、基础生命保障和航电控制台的核心舱精确着陆于冰轮一号 ISRU 着陆器的步行距离内,为约一个月后抵达的 广寒基地建设任务-02 乘组提供一个可立即激活的加压操作空间。</p>
<p>广寒基地建设任务-01 的发射窗口利用 2024 年 5 月月面着陆窗口(参考窗 A 在 5 月的可用周期),长征十六号运载火箭 于 5 月 27 日 03:10 发射。经过约 5 天的标准地月转移——核心舱于 6 月 1 日近月制动进入 LLO——在 LLO 等待着陆窗口约 15 天后,于 6 月 16 日 07:23 着陆于东方海。从运载火箭点火到月面着陆全程自动化,无乘组介入。</p>
<p>冰轮部署任务-01 成功验证了月面 ISRU 的可行性,但燃料工厂本身需要配套的基础设施——乘组的居住和操作空间。广寒基地建设任务-01 将广寒基地的第一个结构件送上月面:一座设有气闸舱、基础环境控制与生命保障系统(ECLSS)和航电控制台的核心舱。该模块将成为广寒基地的中心节点——未来的电力模块、广寒 02 模块都将围绕它进行连接和扩展。</p>
<p>核心舱的设计兼顾了紧凑运输与功能完整:发射时以最小体积封装于 长征十六号运载火箭 整流罩内,着陆后无需复杂展开即可提供加压工作空间。舱体包括一个主操作区(航电控制台、通信终端、环境监控面板)、一个乘组休息区(可平置 4 人的折叠铺位,另有 2 个临时睡袋挂点),以及一个全尺寸气闸舱(支持 2 人同时出舱)。</p>
<p>核心舱配备<b>4 个标准安装节点</b>(1~4号位,分别位于北、东、南、西四个方向),可直接安装舱段模块,或通过加压走道和管线连接到其他舱段。在 广寒基地建设任务-05 任务的基地扩建中,4个节点被全部启用:1号位(北)安装居住舱#2、2号位(东)安装实验舱、3号位(南)经居住舱#1桥接至电力模块、4号位(西)经温室桥接至吴刚#2。</p>
<p>核心舱内置约 50 kWh 蓄电池组,在低功耗待命模式下可支持核心舱独立运行约 20 天——搭配临时服务舱段的太阳能电池板持续补电,足以平稳度过月夜周期。核心舱的生命保障系统在低功耗待命模式下可持续维持标准氮氧大气至少 12 个月,等待乘组首次进入激活。在主操作区的核心航电台设有广寒基地全系统监控界面——集成冰轮 ISRU 产能数据、月面电力网负载状态和各模块环境参数——这一集成度使核心舱成为名副其实的"基地大脑"。</p>
</section>
<h2 id="details">任务详情</h2>
<h3>任务架构</h3>
<p>核心舱本体干重 28.2 吨,搭载约 2.5 吨维生资源(水、氧气、食品储备和 CO₂ 洗涤耗材),确保乘组抵达时无需从地球携带基础消耗品即可立即入驻。核心舱不具备自身推进能力——所有地月转移、近月制动和动力下降的推进任务均由外挂模块承担。</p>
<p>核心舱两侧各外挂一个<b>引擎模块</b>——单个引擎模块干重 2.0 吨,装载 3.8 吨液氧甲烷燃料,全重 5.8 吨。两个引擎模块合计提供 7.6 吨液氧甲烷燃料,用于动力下降段的减速制动。核心舱着陆后,两个引擎模块自动从核心舱两侧分离,以剩余燃料执行短暂上升后沿弹道飞往远处受控坠毁——避免爆炸碎片或残余推进剂污染基地周边区域。</p>
<p>核心舱<b>顶部</b>安装临时服务舱段:一个集成燃料箱、姿态控制 RCS 和一对太阳能电池板的推进/服务组合体,负责地月转移段和近月制动段的推进与姿控任务。服务舱段安装在核心舱顶部——而非尾部——确保着陆后太阳能电池板仍可保持对日定向,持续为核心舱供电。该服务舱段不是可复用设备,着陆后将一直附着在核心舱顶部,直到后续任务的乘组评估其是否具备改造为额外储存空间的价值。</p>
<p>核心舱+两个引擎模块+临时服务舱段的发射组合体全重 76.26 吨,总计搭载 44.4 吨液氧甲烷燃料,提供约 2.9 km/s 的总速度增量——覆盖从近月制动到动力下降全段的推进需求。发射时使用 长征十六号运载火箭 在航区回收构型下的最大整流罩——直径 12 m,是 长征十六号运载火箭 可支持的最宽整流罩规格。整流罩顶端呈 18° 冯·卡门曲线,为这一宽大的载荷组合提供必要的气动保护。作为对比,长征十六号运载火箭 标准构型的整流罩直径为 9 m、7.5 m 和 5 m——12 m 规格仅在需要封装超大单件模块(如广寒核心舱及其推进组合体)时启用。</p>
<p>核心舱—转移级组合体采用标准地月转移轨道,航程约 5 天。6 月 1 日近月制动进入 100×100 km LLO,在此等待约 15 天——这一等待期的存在是因为月面着陆窗口需精确对齐东方海的日照条件(着陆点需处于月昼起始段,以确保 ISRU 设备附近的地面特征在最佳光照角度下被着陆雷达清晰识别)。等待期间,临时服务舱段的太阳能电池板持续供电,保持航电系统和加热器运行,并对所有着陆相关子系统进行冗余自检。6 月 16 日,两个引擎模块点火执行动力下降,着陆后自动分离坠毁。</p>
<h3>发射与地月转移(5 月 27 日至 6 月 1 日)</h3>
<p>2024 年 5 月 27 日 03 时 10 分,长征十六号运载火箭使用其最大规格的 12 m 直径整流罩,搭载广寒核心舱从文昌发射场升空。发射后约 5 分钟(03:15),一级完成分离并开始航区回收——栅格翼展开,15 台 YF-215X 中 5 台重新点火执行返场制动。03 时 19 分,一级垂直着陆于海上回收驳船,标志着 长征十六号运载火箭 在广寒计划中的首次一级回收成功。03 时 24 分,二级完成 TLI 注入,核心舱—转移级组合体进入地月转移轨道。</p>
<p>经过约 5 天的自由飞行,6 月 1 日 12 时 18 分,组合体执行近月制动,进入 100×100 km LLO。随后在 LLO 等待约 15 天——利用这段窗口等待期进行系统全面自检和着陆点最终确认。6 月 16 日 06 时 47 分,转移级动力下降点火,组合体从 100 km LLO 逐步降至月面着陆轨道。07 时 23 分,核心舱着陆于东方海冰轮一号东南侧安全距离内。着陆后约 22 分钟(07:45),服务舱段太阳能电池板重新定向至最佳光照角度,核心舱转入低功耗待命模式。</p>
<h3>着陆与部署(6 月 16 日)</h3>
<p>着陆点精确选定在冰轮一号东南侧不远处。核心舱着陆时,发动机羽流会对月面产生剧烈扰动——羽流冲击月壤产生的扬尘速度可达数百米每秒,足以物理磨损 ISRU 设备的脆弱表面。因此着陆点与冰轮一号之间留有足够的安全距离,同时确保 广寒基地建设任务-02 乘组可在单次 EVA 内步行覆盖两者之间的路线。</p>
<p>着陆过程中,两个引擎模块在最后数十米进入节流减速——羽流在月面形成一个浅碟形冲刷坑,浅色亚表土暴露在外。这一"着陆疤痕"成为后续任务从轨道辨认广寒基地的可靠视觉标志。触地后引擎模块自动执行分离程序:脱离核心舱两侧锁定机构,以剩余燃料短暂上升后沿弹道飞往基地以东约 2 km 处受控坠毁——避免爆炸碎片或残余推进剂污染基地周边区域。</p>
<p>着陆后约 22 分钟,核心舱航电系统完成自检:所有内部系统——气压维持、温度控制、通信中继——显示正常。服务舱段的太阳能电池板重新定向至最佳光照角度,持续为核心舱的温控加热器供电。核心舱舱内维持标准氮氧大气(氮气约 78%、氧气约 21%),舱压保持在 14.7 psi 标称值,转入低功耗待命模式等待 广寒基地建设任务-02 乘组首次进入激活。</p>
<h3>着陆后状态(6 月 16 日起)</h3>
<p>核心舱在着陆后未出现任何结构损伤或系统异常。遥测数据通过月球中继卫星持续下传至文昌控制中心,覆盖舱内气压、温度、辐射水平、蓄电池荷电状态和太阳能电池板发电功率等关键参数。核心舱内置约 50 kWh 蓄电池组——在低功耗待命模式下(平均功耗约 2.1 kW),蓄电池可独立支持核心舱运行约 20 天,搭配临时服务舱段太阳能电池板的持续补电,足以覆盖整个月夜周期(约 14 个地球日)并留有余量。在 广寒基地建设任务-02 乘组抵达前的约两周时间内,ECLSS 以最低负荷循环空气并维持温控,核心舱各项参数均在标称范围内。</p>
<p>核心舱的通信系统在着陆后自动激活 S 波段中继链路,与冰轮一号 ISRU 着陆器建立本地数据连接——这意味着在 广寒基地建设任务-02 乘组抵达之前,地面控制中心已能同时监控冰轮一号的燃料生产数据和核心舱的环境状态,为载人任务的任务规划提供了双路遥测依据。</p>
<h2 id="achievements">任务成果</h2>
<p>广寒基地建设任务-01 作为广寒月面基地的首个结构部署任务,取得了以下关键成果:</p>
<ul>
<li><b>首个永久结构件部署</b>:广寒核心舱——一座设有气闸舱、基础 ECLSS 和航电控制台的加压舱段——精确着陆于冰轮一号 ISRU 着陆器旁,成为广寒基地的中心节点。核心舱内维持标准氮氧大气(14.7 psi),着陆后转入低功耗待命模式,等待 广寒基地建设任务-02 首次载人乘组激活。</li>
<li><b>4 个标准安装节点就位</b>:核心舱的北、东、南、西四个方向各预留一个标准安装节点(1~4号位),为后续舱段扩展提供了标准化的结构接口。这些节点在 广寒基地建设任务-05 的基地扩建中全部启用——温室、居住舱#1、居住舱#2 和实验舱段逐一安装,广寒基地由此具备了 10 人长期常驻的居住容量。</li>
<li><b>自主着陆与引擎分离验证</b>:双引擎模块在动力下降段提供 7.6 吨液氧甲烷燃料的减速制动,着陆后自动分离并受控坠毁于基地以东约 2 km 处,未对基地周边造成污染。全程自动化操作——从运载火箭点火到月面着陆,无乘组介入。</li>
<li><b>月面自主待命能力</b>:核心舱内置约 50 kWh 蓄电池组,搭配临时服务舱段太阳能电池板的持续补电,足以覆盖整个月夜周期(约 14 个地球日)。ECLSS 在低功耗待命模式下可维持标准氮氧大气至少 12 个月,为 广寒基地建设任务-02 乘组抵达提供了充足的窗口余量。</li>
<li><b>双路遥测链路建立</b>:核心舱着陆后自动激活 S 波段中继链路,与冰轮一号 ISRU 着陆器建立本地数据连接。地面控制中心在载人乘组抵达前已能同时监控 ISRU 燃料生产数据和核心舱环境状态,为 广寒基地建设任务-02 的任务规划提供了双路遥测依据。</li>
<li><b>长征十六号运载火箭 重型构型验证</b>:12 m 直径整流罩——长征十六号运载火箭 可支持的最大规格——在本任务中首次投入使用,成功封装了全重 76.26 吨的核心舱-转移级组合体。一级在航区回收构型下完成栅格翼展开、返场制动和海上驳船垂直着陆,验证了 长征十六号运载火箭 在重型单体载荷发射场景下的回收能力。</li>
</ul>
<h2 id="topology">基地拓扑图</h2>
<p>下图以 广寒基地建设任务-01 任务结束时为默认时间锚点,展示广寒基地核心舱与周边设施的结构拓扑。可在图内切换任务或指定时间,查看基地结构随建设进度的变化。</p>
<figure class="topology-embed-shell">
<div class="topology-embed-host">
<iframe class="topology-embed-frame" src="http://118.89.192.134:59100/topology/guanghan_topology_demo.html?mission=GHC-01" title="广寒基地交互式工程拓扑图(GHC-01)" loading="eager" sandbox="allow-scripts allow-same-origin allow-forms" allow="fullscreen"></iframe>
</div>
<figcaption class="topology-caption">图 1:广寒基地建设任务-01 任务结束时的广寒基地工程拓扑。可在图内切换任务或指定时间;若嵌入视图未能加载,可<a href="http://118.89.192.134:59100/topology/guanghan_topology_demo.html?mission=GHC-01" target="_blank" rel="noopener noreferrer">在新窗口打开</a></figcaption>
</figure>
<h2 id="seealso">参见</h2>
<ul>
<li><a href="/home/mission/Guanghan_Program">广寒计划总览</a></li>
<li><a href="/home/mission/Guanghan_Program/GHC-01/Gallery">GHC-01 任务图集</a></li>
<li><a href="/home/mission/Guanghan_Program/GHC-02">GHC-02 — 首次载人着陆</a></li>
<li><a href="/home/Launch_Vehicles/CZ-16">CZ-16 长征十六号</a> — 本任务运载火箭</li>
<li><a href="/home/Spacecraft/Binglun_Lander">冰轮可复用着陆器</a></li>
</ul>
<script>
(function () {
function ready(fn) {
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', fn, { once: true });
} else {
fn();
}
}
function captionFor(image) {
var container = image.closest('figure, td, tr, .infobox-image, .gallery-item');
if (!container) {
return image.alt || '';
}
var caption = container.querySelector('.thumbcaption');
return caption ? caption.textContent.trim() : (image.alt || '');
}
function install(article) {
if (!article || article.dataset.lightboxReady === '1') {
return;
}
article.dataset.lightboxReady = '1';
var overlay = document.createElement('div');
overlay.className = 'wiki-image-lightbox';
overlay.hidden = true;
overlay.innerHTML = '<figure class="wiki-image-lightbox-panel" role="dialog" aria-modal="true"><button class="wiki-image-lightbox-close" type="button" aria-label="Close image preview">x</button><img alt=""><figcaption class="thumbcaption"></figcaption></figure>';
document.body.appendChild(overlay);
var previewImage = overlay.querySelector('img');
var previewCaption = overlay.querySelector('figcaption');
var closeButton = overlay.querySelector('.wiki-image-lightbox-close');
function closePreview() {
overlay.hidden = true;
previewImage.removeAttribute('src');
previewCaption.textContent = '';
document.body.classList.remove('wiki-image-lightbox-open');
}
function openPreview(image, event) {
event.preventDefault();
event.stopPropagation();
if (event.stopImmediatePropagation) {
event.stopImmediatePropagation();
}
previewImage.src = image.currentSrc || image.src;
previewImage.alt = image.alt || '';
previewCaption.textContent = captionFor(image);
overlay.hidden = false;
document.body.classList.add('wiki-image-lightbox-open');
closeButton.focus();
}
article.querySelectorAll('img[data-wiki-asset]').forEach(function (image) {
if (image.dataset.lightboxBound === '1') {
return;
}
image.dataset.lightboxBound = '1';
image.addEventListener('click', function (event) {
openPreview(image, event);
}, true);
});
article.addEventListener('click', function (event) {
var image = event.target.closest && event.target.closest('img[data-wiki-asset]');
if (!image || !article.contains(image) || image.closest('.wiki-image-lightbox')) {
return;
}
openPreview(image, event);
});
closeButton.addEventListener('click', closePreview);
overlay.addEventListener('click', function (event) {
if (event.target === overlay) {
closePreview();
}
});
document.addEventListener('keydown', function (event) {
if (event.key === 'Escape' && !overlay.hidden) {
closePreview();
}
});
}
function installAll() {
document.querySelectorAll('.wiki-article, .vulture-article').forEach(install);
}
ready(function () {
installAll();
if (window.MutationObserver) {
var observer = new MutationObserver(installAll);
observer.observe(document.body, { childList: true, subtree: true });
}
window.setTimeout(installAll, 500);
window.setTimeout(installAll, 1500);
window.setTimeout(installAll, 3000);
});
}());
</script>
</article>