User:Conrad.Irwin/aspell.js
Jump to navigation
Jump to search
Note: You may have to bypass your browser’s cache to see the changes. In addition, after saving a sitewide CSS file such as MediaWiki:Common.css, it will take 5-10 minutes before the changes take effect, even if you clear your cache.
- Mozilla / Firefox / Safari: hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (Command-R on a Macintosh);
- Konqueror and Chrome: click Reload or press F5;
- Opera: clear the cache in Tools → Preferences;
- Internet Explorer: hold Ctrl while clicking Refresh, or press Ctrl-F5.
- This script lacks a documentation subpage. Please create it.
- Useful links: root page • root page’s subpages • links • redirects • your own
/**
Try to do something useful after search, still provides guesses even on successful full-text search, just for testing ;)
This is just to check the usefulness of aspell for the task - I want to try some language guesswork as aspell can't support multiple scripts simultaneously
The spell checker is kindly hosted on [[User:Amgine]]'s server at http://devtionary.org/wiki/
The aspell there only has English, though this can (and I have tested) be extended trivially to support most other common languages (see http://aspell.net/ )
This will need installing as a PHP extension of some kind as this method is too inefficient - though it is possible that keeping the aspell on a seperate server from the PHP and doing inter server communication will be a good idea.
**/
function javascript_aspell(){
var word = false;
var ip = false;
var el = false;
if(el = document.getElementById('powerSearchText') ){
word = el.value;
ip = document.getElementById('search');
}else if(el = document.getElementById('searchbox') ){
ip = el;
inps = el.getElementsByTagName('input');
for(var i=0;i<inps.length;i++){
if( inps[i].className == 'searchboxInput' ) word = inps[i].value
}
}
if(!ip || !word) return false;
var url = 'http://devtionary.info/cgi-bin/wikt/spell.py?format=wiki&wiki=en.wiktionary&langs=en,*&word='+encodeURIComponent(word);
var iframe = document.createElement('iframe');
iframe.setAttribute('src',url);
iframe.style.cssText = 'border:none; width: 400px; height: 80px'
ip.parentNode.insertBefore(iframe,ip.nextSibling);
}
$(javascript_aspell);