Widget:GFLMail:修订间差异
来自OGAS数据中枢
更多操作
创建页面,内容为“<!--[if IE]><script>→@cc_on@if(@_jscript_version<9)document.createElement("gfl-mail");@end@:</script><![endif]--> <script> (function() { var widgetId = '<!--{$id|escape:'html'}-->'; function initMail() { var rootEl = document.getElementById('gflRoot-' + widgetId); if (!rootEl || rootEl.classList.contains('gfl-initialized')) { return; } rootEl.classList.add('gfl-initialized'); v…” |
无编辑摘要 |
||
| 第1行: | 第1行: | ||
<script> | <script> | ||
(function() { | (function() { | ||
| 第27行: | 第26行: | ||
} | } | ||
var items = listEl.querySelectorAll('.gfl-item'); | var items = listEl.querySelectorAll('.gfl-item'); | ||
for (var i = 0; i < items.length; i++) { | for (var i = 0; i < items.length; i++) { | ||
| 第46行: | 第44行: | ||
} | } | ||
var backBtn = detailEl.querySelector('.gfl-back-btn'); | var backBtn = detailEl.querySelector('.gfl-back-btn'); | ||
if (backBtn) { | if (backBtn) { | ||
| 第55行: | 第52行: | ||
} | } | ||
function openMail(idx) { | function openMail(idx) { | ||
var mail = mailsData[idx]; | var mail = mailsData[idx]; | ||
| 第82行: | 第78行: | ||
} | } | ||
if (document.readyState === 'loading') { | if (document.readyState === 'loading') { | ||
document.addEventListener('DOMContentLoaded', initMail); | document.addEventListener('DOMContentLoaded', initMail); | ||
2026年5月20日 (三) 21:41的版本
<script> (function() {
var widgetId = ;
function initMail() {
var rootEl = document.getElementById('gflRoot-' + widgetId);
if (!rootEl || rootEl.classList.contains('gfl-initialized')) {
return;
}
rootEl.classList.add('gfl-initialized');
var mailsData;
try {
mailsData = JSON.parse(rootEl.getAttribute('data-mails') || '[]');
} catch(e) {
console.error('GFLMail: Failed to parse mail data', e);
return;
}
var listEl = document.getElementById('gflList-' + widgetId);
var detailEl = document.getElementById('gflDetail-' + widgetId);
if (!listEl || !detailEl) {
return;
}
var items = listEl.querySelectorAll('.gfl-item');
for (var i = 0; i < items.length; i++) {
(function(index) {
var item = items[index];
item.addEventListener('click', function() {
openMail(index);
});
item.addEventListener('keypress', function(e) {
if (e.key === 'Enter' || e.key === ' ') {
e.preventDefault();
openMail(index);
}
});
})(i);
}
var backBtn = detailEl.querySelector('.gfl-back-btn');
if (backBtn) {
backBtn.addEventListener('click', function() {
detailEl.classList.remove('is-open');
listEl.style.display = ;
});
}
function openMail(idx) {
var mail = mailsData[idx];
if (!mail) return;
var subjectEl = detailEl.querySelector('.gfl-detail-subject');
var dateEl = detailEl.querySelector('.gfl-date-row');
var contentEl = detailEl.querySelector('.gfl-content');
var charEl = detailEl.querySelector('.gfl-char');
if (subjectEl) subjectEl.textContent = mail.subject;
if (dateEl) dateEl.textContent = mail.date;
if (contentEl) contentEl.innerHTML = mail.content;
if (charEl) {
if (mail.charImg) {
charEl.innerHTML = '<img src="' + mail.charImg + '" alt="人形立绘" />';
} else {
charEl.innerHTML = '
立绘区域
(传入图片后显示)
(传入图片后显示)
';
}
}
listEl.style.display = 'none';
detailEl.classList.add('is-open');
}
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', initMail);
} else {
initMail();
}
})(); </script>