MediaWiki:ListrefErrors.js
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.
// adapted from User:Ucucha/HarvErrors.js if(window.checkLinksToCitations === undefined) window.checkLinksToCitations = true; jQuery(document).ready(function($) { // first check: do links in listref templates citations point to a valid citation? links = document.links; for (i=0; i < links.length; i++) { href = links[i].getAttribute('href'); if (href.indexOf('#cite_note-listref') == 0) if (document.getElementById(href.substring(1)) == null) links[i].parentNode.innerHTML += " <strong class=error>Listref error: link " + href + " doesn't point to any matching citation.</strong>"; } // second check: do endnote IDs have citations pointing to them? if(window.checkLinksToCitations) { cites = jQuery('.citation'); for(i=0; i < cites.length; i++) { id = cites[i].getAttribute('id'); // we only need to check citations with a if(!id || id.indexOf('cite_note-listref') !== 0) continue; // don't do cites that are inside a ref parentid = cites[i].parentNode.getAttribute('id'); if(parentid && parentid.indexOf('cite_note') === 0) continue; // check for links to this citation query = 'a[href|="#' + id + '"]'; if(jQuery(query).length == 0) { cites[i].innerHTML += " <strong class=error>Listref error: There is no link pointing to this citation.</strong>"; } } } });