MediaWiki:Vector.js

From AviationSafetyX Wiki
Jump to navigation Jump to search

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* All JavaScript here will be loaded for users of the Vector skin */

function removeTargetAttrs(scope = document) {
  scope.querySelectorAll('a[target]').forEach(link => {
    if (link.hostname === location.hostname) {
      link.removeAttribute('target');
    }
  });
}

document.addEventListener('DOMContentLoaded', function () {
  removeTargetAttrs();
});

new MutationObserver(mutations => {
  mutations.forEach(m => {
    m.addedNodes.forEach(node => {
      if (node.nodeType === 1) {
        if (node.tagName === 'A') {
          removeTargetAttrs(node.parentNode || node);
        } else {
          removeTargetAttrs(node);
        }
      }
    });
  });
}).observe(document.body, { childList: true, subtree: true });