aboutsummaryrefslogtreecommitdiffstats
path: root/lookupDictionary.js
AgeCommit message (Collapse)Author
2008-11-17文字コード指定アリでのURLエンコードを正しく行えない ↵fifnel
具合修正 git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@24027 d0d07461-0603-4401-acd4-de1884942a52
2008-11-15see http://fifnel.com/2008/11/14/1980/teramako
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@23788 d0d07461-0603-4401-acd4-de1884942a52
2008-10-24 * fixed regexes.drry
* added and fixed dictionaries. * et cetera. git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@22081 d0d07461-0603-4401-acd4-de1884942a52
2008-10-24* HTMLパースに失敗していたのを修正teramako
* goo辞書のXPath修正 * goo辞書のHTMLがUTF-8になったのに対応...できてないかも git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@22080 d0d07461-0603-4401-acd4-de1884942a52
2008-10-21liberator -> liberator.modulesjanus_wel
- buffer - commandline - commands - hints - ..etc コマンド追加時に使う addUserCommand の第 3 引数に指定する関数の第 1 引数が String から Object に変更したのに対応 - ldrize_cooperation_fetch_flv.js - lookupDictionary.js - matanico.js - nicontroller.js - nnp_cooperation.js - reading.js - youtubeamp.js migemo_hint.js で一時的にグローバルオブジェクト plugins を定義 応急処置なのであとで削る必要あり git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@21797 d0d07461-0603-4401-acd4-de1884942a52
2008-10-15namespaceの省略(vimperator CVS headと旧版との互換性維持のため)teramako
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@21395 d0d07461-0603-4401-acd4-de1884942a52
2008-10-06vimp CVS Headに追従(bang[!])の仕様変更に対して)teramako
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@20856 d0d07461-0603-4401-acd4-de1884942a52
2008-09-27liberator.globalVariables.lookupDictionary_site_definition ↵anekos
で、スクリプトを書き換えずに辞書を追加できるようにした。 git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@20048 d0d07461-0603-4401-acd4-de1884942a52
2008-09-27add dictionary property to SITE_DEFINITION.janus_wel
remove the variable "g:lookupDictionary_dictionary". switch over dictionary by site definition. git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@20024 d0d07461-0603-4401-acd4-de1884942a52
2008-09-26add word suggestion feature by dictionary for Firefox spell checkjanus_wel
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@19995 d0d07461-0603-4401-acd4-de1884942a52
2008-09-21Fix:teramako
* indent * command arguments handling git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@19677 d0d07461-0603-4401-acd4-de1884942a52
2008-09-07- ↵teramako
文字化け対策にXMLHttpRequestのoverrideMimeTypeを用いてcharset付加 git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@18935 d0d07461-0603-4401-acd4-de1884942a52
2008-04-07lang/javascript/vimperator-plugins/trunk/lookupDictionary.jsdrry
lang/javascript/vimperator-plugins/trunk/gmperator.js: * 空白を修整しました。 * ほか。 git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@9102 d0d07461-0603-4401-acd4-de1884942a52
2008-04-07lang/javascript/vimperator-plugins/trunk/lookupDictionary.js:drry
* fixed a regexp. git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@9067 d0d07461-0603-4401-acd4-de1884942a52
2008-04-07lang/javascript/vimperator-plugins/trunk/lookupDictionary.js:drry
* typo を修正しました。 * インデントを修整しました。 * ほか。 git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@9066 d0d07461-0603-4401-acd4-de1884942a52
2008-03-21lang/javascript/vimperator-plugins/trunk/xpathBlink.jsdrry
lang/javascript/vimperator-plugins/trunk/autoIgnoreKey.js lang/javascript/vimperator-plugins/trunk/copy.js lang/javascript/vimperator-plugins/trunk/lookupDictionary.js lang/javascript/vimperator-plugins/trunk/splitBrowser.js lang/javascript/vimperator-plugins/trunk/gmperator.js: * 消えたファイルを trunk にコピーしました。 * ほか。 git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@8235 d0d07461-0603-4401-acd4-de1884942a52
2008-03-21lang/javascript/vimperator-plugins/lookupDictionary.js: 0.6pre対応版trapezoid
git-svn-id: http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk@8233 d0d07461-0603-4401-acd4-de1884942a52
/span> document.implementation.createDocument(null, "html", null); var range = document.createRange(); range.setStartAfter(window.content.document.body); res.documentElement.appendChild(res.importNode(range.createContextualFragment(str), true)); if (ignoreTags) ignoreTags.forEach(function(tag) { var elements = res.getElementsByTagName(tag); for (var i = elements.length, el; el = elements.item(--i); el.parentNode.removeChild(el)); }); return res; } function getElementsByXPath(xpath, node){ node = node || document; var nodesSnapshot = (node.ownerDocument || node).evaluate(xpath, node, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); var data = []; for(var i = 0, l = nodesSnapshot.snapshotLength; i < l; data.push(nodesSnapshot.snapshotItem(i++))); return (data.length > 0) ? data : null; } function getFirstElementByXPath(xpath, node){ node = node || document; var result = (node.ownerDocument || node).evaluate(xpath, node, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null); return result.singleNodeValue ? result.singleNodeValue : null; } function showFollowersStatus(){ var xhr = new XMLHttpRequest(); xhr.open("GET", "http://mixi.jp/recent_echo.pl", false); xhr.send(null); var nodes = getElementsByXPath('id("echo")//div[@class="archiveList"]//tr', parseHTML(xhr.responseText, ['script'])); var statuses = []; if (nodes && nodes.length) nodes.forEach(function(node) { var img = getFirstElementByXPath('.//img', node).src; var name = getFirstElementByXPath('.//*[@class="nickname"]', node).textContent.replace(/(?:\r?\n|\r)[ \t]*/g, ""); var c = getFirstElementByXPath('.//*[@class="comment"]', node).childNodes; var text = ''; for (var n = 0; n < c.length; n++) { if (c[n].nodeName.toUpperCase() == 'SPAN') break; text += c[n].textContent.replace(/^\s+|\s+$/g, '').replace(/&/g, '&amp;').replace(/>/g, '&gt;').replace(/</g, '&lt;'); if (c[n].nodeName.toUpperCase() == 'A') text += ' '; } statuses.push({ user : { profile_image_url : img, name : name, screen_name : name }, text : text }); }); var html = <style type="text/css"><![CDATA[ span.twitter.entry-content a { text-decoration: none; } img.twitter.photo { border; 0px; width: 16px; height: 16px; vertical-align: baseline; } ]]></style>.toSource() .replace(/(?:\r?\n|\r)[ \t]*/g, " ") + statuses.map(function(status) <> <img src={status.user.profile_image_url} alt={status.user.screen_name} title={status.user.screen_name} class="twitter photo"/> <strong>{status.user.name}&#x202C;</strong> </>.toSource() .replace(/(?:\r?\n|\r)[ \t]*/g, " ") + sprintf(': <span class="twitter entry-content">%s&#x202C;</span>', status.text)) .join("<br/>"); //liberator.log(html); liberator.echo(html, true); } function sayEcho(text){ var xhr = new XMLHttpRequest(); xhr.open("GET", "http://mixi.jp/recent_echo.pl", false); xhr.send(null); var form = getFirstElementByXPath('//form[@action="add_echo.pl"]', parseHTML(xhr.responseText, ['script'])); var input = getFirstElementByXPath('.//textarea', form); input.value = text; var params = []; var inputs = getElementsByXPath('.//*[contains(" INPUT TEXTAREA SELECT ", concat(" ", local-name(), " "))]', form); inputs.forEach(function(input) { if (input.name.length) params.push(input.name + '=' + escape(ucnv.ConvertFromUnicode(input.value))); }); xhr.open("POST", "http://mixi.jp/add_echo.pl", false); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send(params.join('&')); } commands.addUserCommand(["mixiecho"], "Change mixi echo", function(arg){ if (arg.bang || arg.string.length == 0) showFollowersStatus() else sayEcho(arg.string); },{ bang: true } ); })();