Difference between revisions of "MediaWiki:Common.js"

From CUGC Wiki
(Use $content as #wikiPreview is not available when hook is fired.)
(Wait for $content to be added to page.)
Line 8: Line 8:
 
       console.log('Waiting for MathJax.');
 
       console.log('Waiting for MathJax.');
 
     } else {
 
     } else {
       MathJax.Hub.Queue(["Typeset", MathJax.Hub, $content]).execute();
+
       console.log($content);
       alert('Found MathJax; typeset done.');
+
      // delay as wikipage.content is fired before $content is added to the page
 +
      setTimeout(MathJax.Hub.Queue(["Typeset", MathJax.Hub, $content]).execute, 1000);
 +
       console.log('Found MathJax; typeset done.');
 
     }
 
     }
 
   }
 
   }

Revision as of 16:25, 12 March 2019

/* Any JavaScript here will be loaded for all users on every page load. */

// MathJax typesetting in edit previews
function mathJaxTypeset($content) {
  function waitForMathJax() {
    if (typeof MathJax === 'undefined') {
      setTimeout(waitForMathJax, 1000);
      console.log('Waiting for MathJax.');
    } else {
      console.log($content);
      // delay as wikipage.content is fired before $content is added to the page
      setTimeout(MathJax.Hub.Queue(["Typeset", MathJax.Hub, $content]).execute, 1000);
      console.log('Found MathJax; typeset done.');
    }
  }
  waitForMathJax();
}
mw.hook('wikipage.content').add(mathJaxTypeset);