MediaWiki:Gadget-dictionaryLookup.js

//Stolen from fr wikinews. $(function { var goInline=false; var mozilla=false; if (document.all == null && document.getElementById != null && document.layers == null) {        mozilla = true; } function FindWord(e) {        if (!e) {e = window.event;}	if (!mozilla && window.event && document && document.body) {		if (document.readyState != "complete") return false;		//IE		var my_range = document.selection.createRange;		my_range.collapse;		my_range.expand("word");		LookupWord(my_range.text);		e.returnValue = false;		return false;	}	else if (e.rangeParent && e.rangeParent.nodeType == document.TEXT_NODE) {		//mozilla part		var rangeOffset = e.rangeOffset;		var range = document.createRange;		range.selectNode(e.rangeParent);		var my_rangestr = range.toString;		range.detach;		// which word the rangeOffset is in		var wordlist1 = my_rangestr.substring(0, rangeOffset).split(/\s+/);		var wordlist2 = my_rangestr.substring(rangeOffset, my_rangestr.length).split(/\s+/); if (my_rangestr.length > 0) { LookupWord(wordlist1[wordlist1.length - 1]+wordlist2[0]); }		e.preventDefault; e.stopPropagation; } } function LookupWord(word) { var word2 = word.match(/\b(?:[\w-]|(?!\.\s)\.)*\b/); //strip quotation marks s = word2 ? word2[0] : word //if regex failed, fall back to word var newurl = "//en.wiktionary.org/wiki/" + encodeURIComponent(s); if (goInline)location.href = newurl; else{ var newwin = window.open(newurl,'temp','height=450,width=800,location,menubar,toolbar,status,resizable,scrollbars'); if (newwin)    newwin.focus; } } if (document.addEventListener) { document.addEventListener("dblclick", FindWord, true); } else if (document.all) { document.ondblclick = FindWord; }

});