MediaWiki:Common.js

From CUGC Wiki
Revision as of 16:49, 12 March 2019 by TW466 (talk | contribs) (Wait for MathJax before typesetting.)
/* Any JavaScript here will be loaded for all users on every page load. */

function waitForMathJax(element) {
  if (typeof MathJax === 'undefined') {
    setTimeout(waitForMathJax, 1000);
    console.log('Waiting for MathJax.');
  } else {
    MathJax.Hub.Queue(["Typeset", MathJax.Hub, element]).execute();
    console.log('Found MathJax; typeset done.');
  }
}

mw.hook('wikipage.content').add(function ($content) {
  var element = $content[0];
  var observer = new MutationObserver(function(mutations) {
    if (document.contains(element)) {
      console.log("It's in the DOM!");
      observer.disconnect();
      waitForMathJax(element);
    } else {
      console.log("Still waiting");
    }
  });
  observer.observe(document, {attributes: false, childList: true, characterData: false, subtree: true});
});