2007-01-14
■del.icio.usのタグに英語しか使わない人のためのGreasemonkeyスクリプト
せっかくなのでさっきのエントリの turnOffIME() を使ってdel.icio.us用のGreasemonkeyスクリプトを書いてみました。Windows限定です。
機能は4つ。
- 投稿ページのtags欄にフォーカスするとIMEがオフになる。
- ページ上部のパンくずリストのタグを入力する所にフォーカスするとIMEがオフになる。
- 投稿ページを表示したときにtags欄にフォーカスする。
- 投稿ページじゃなかったらパンくずリストのタグを入力する所にフォーカスする。
追記 2007-01-15 19:55
IMEのキャレットが表示されなくなっていた不具合を修正しました。
コード
// ==UserScript== // @name del.icio.us IME OFF // @namespace http://d.hatena.ne.jp/margin/ // @include http://del.icio.us/* // ==/UserScript== (function(){ function turnOffIME(focusElement) { function c() { var s = document.createElement('span'); s.innerHTML = '<input type="password" style="visibility:hidden;position:fixed">'; return document.body.appendChild(s.firstChild); } var p = c(); p.focus(); document.body.removeChild(p); if (focusElement && focusElement.focus) { focusElement.focus(); } else { var x = turnOffIME.x = turnOffIME.x || c(); x.focus(); x.blur(); } } function turnOffIMEOnFocus(element) { element._focused = false; element.addEventListener('focus', function() { if(!this._focused) { this._focused = true; turnOffIME(this); } }, false); element.addEventListener('blur', function(){ this._focused = false; }, false); } window.addEventListener('load', function() { var crumb = document.getElementById('crumb'); if (crumb) { var crumbs = crumb.getElementsByTagName('input'); crumb = crumbs[crumbs.length-1]; turnOffIMEOnFocus(crumb); crumb.focus(); } var tags = document.getElementById('tags'); if (tags) { turnOffIMEOnFocus(tags); tags.focus(); } }, false); })();
トラックバック - http://d.hatena.ne.jp/margin/20070114/1168786540
リンク元
- 335 http://d.hatena.ne.jp/saito-kazuo/20061004/p1
- 186 http://espion.just-size.jp/archives/06/279163958.html
- 67 http://kengo.preston-net.com/archives/002841.shtml
- 65 http://espion.just-size.jp/archives/06/278124742.html
- 46 http://math.ring.hatena.ne.jp/
- 46 http://regorego.cocolog-nifty.com/
- 43 http://reader.livedoor.com/reader/
- 31 http://d.hatena.ne.jp/sana-key/
- 30 http://sweetlovexx.seesaa.net/article/26668150.html
- 16 http://www.google.com/reader/view/