MediaWiki:ListrefErrors.js
Appearance
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// 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') == 0) if (document.getElementById(href.substring(1)) == null) links[i].parentNode.innerHTML += " Listref error: link to " + href + " doesn't point to any matching note."; }
// 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') !== 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 += " Listref error: There is no link pointing to this note."; } } }
});