MediaWiki:Common.js:修订间差异

来自Fuckrooms Wiki
无编辑摘要
无编辑摘要
第4行: 第4行:
/* CSS模板 */
/* CSS模板 */
(function() {
(function() {
   document.querySelectorAll('.import-css').forEach(el => {
   var importCssDivs = document.querySelectorAll('div.import-css');
    const css = el.dataset.content;
    const hash = el.dataset.styleSha256;


    if (css && hash) {
  importCssDivs.forEach(function(div) {
      const calcHash = async (text) =>
    var cssContent = div.textContent || div.innerText;
        Array.from(new Uint8Array(await crypto.subtle.digest('SHA-256', new TextEncoder().encode(text))))
          .map(b => b.toString(16).padStart(2, '0'))
          .join('');


      calcHash(css).then(actualHash => {
    if (cssContent) {
        if (actualHash === hash) {
      var styleTag = document.createElement('style');
          const style = document.createElement('style');
      styleTag.type = 'text/css';
          style.textContent = css;
  styleTag.appendChild(document.createTextNode(cssContent));
          document.head.appendChild(style);
 
          console.log('CSS 应用:', css.substring(0, 20) + '...');
       document.head.appendChild(styleTag);
        } else {
          console.error('哈希不匹配', el);
        }
       }).catch(e => console.error('哈希错误:', e));
    } else {
      console.warn('跳过无效元素', el);
     }
     }
   });
   });
})();
})();

2025年8月5日 (二) 06:02的版本

/* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */
console.log("Hello World!");

/* CSS模板 */
(function() {
  var importCssDivs = document.querySelectorAll('div.import-css');

  importCssDivs.forEach(function(div) {
    var cssContent = div.textContent || div.innerText;

    if (cssContent) {
      var styleTag = document.createElement('style');
      styleTag.type = 'text/css';
	  styleTag.appendChild(document.createTextNode(cssContent));

      document.head.appendChild(styleTag);
    }
  });
})();