打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

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行:
<!--[if IE]><script>/*@cc_on@if(@_jscript_version<9)document.createElement("gfl-mail");@end@*/</script><![endif]-->
<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>