Home > 2008年09月

2008年09月

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  • Comments (Close): -
  • TrackBack (Close): -

イースト辞書Webサービスで英語を調べる User JavaScript

イースト英和辞典 User JavaScriptを実行

イースト和英辞典 User JavaScriptを実行

イースト辞書Webサービスは英和辞典、和英辞典、ウィキペディア日本語版を調べることができる。イースト辞書Webサービスを利用した Operaの User JavaScriptを作ってみた。

イースト辞書Webサービスは XMLを返すので、Yahoo! Pipes を利用して、JSONPを返すようにした。Operaのコンテキストメニューから User JavaScriptを呼び出し、データを取得して表示する。

イースト辞書Webサービス

イースト辞書Webサービスは単語を検索して、データを XML 形式で返す。辞書は「EJDIC英和辞典」「EDICT和英辞典」「ウィキペディア日本語版」がある。が、「ウィキペディア日本語版」の返すデータは少し複雑なので、「EJDIC英和辞典」「EDICT和英辞典」の 2つを使った。

SOAP版APIREST版API がある。今回は REST版APIを使用した。

メソッドは「検索メソッド」と「内容取得メソッド」がある。検索メソッドで調べたい単語の辞書項目のIDを取得して、内容取得メソッドでその辞書項目のIDの内容を取ってくる。

Continue reading

foobar2000のタイトル

foobar2000のウィンドウのタイトルバーに表示するタイトルの設定にちょっと手間がかかったので、メモ。

タイトルの設定は、Preference > Default User Interfaceの「Window Title」に Title Formattingを入力する。

デフォルトのタイトル(foobar2000 v0.9.5.4)

[%album artist% - ]['['%album%[ CD%discnumber%][ #%tracknumber%]']' ]%title%[ '//' %track artist%]

例: Various Artists - [The Rose That Grew from Concrete #09] Can U C The Pride In The Panther (Female Version) // Mos Def

デフォルトのタイトルは、アルバムアーティストと曲のアーティストが異なる時だけ曲のアーティストを表示する。

カスタマイズしたタイトル

$if( %rating%, ★, )%title%[ - %artist%][ / %album%[ '('Disk%discnumber%')'] #%tracknumber%$if($stricmp(%artist%,%album artist%),, - %album artist%)]

例: ★Can U C The Pride In The Panther (Female Version) - Mos Def / The Rose That Grew from Concrete #09 - Various Artists

レートが付けられている時「★」を表示。曲のアーティストとアルバムアーティストが異なる時だけアルバムアーティストを表示する。曲のアーティストをアルバムアーティストより前に表示したかった。(曲のアーティストとアルバムアーティストが同じ場合はあまり変わらないが、違う場合デフォルトのタイトルではアルバムアーティストが先に表示されてしまう。)

[...]
フィールド、関数の結果が存在すれば、値を返す。
$replace(文字列a, 文字列b, 文字列c)
文字列a内の文字列bを文字列cに置換する
$padcut(文字列, 数値)
文字列の先頭から数値の長さまでを返す。
%artist%
$if3($meta(artist), $meta(album artist), $meta(composer), $meta(performer) )
artist, album artist, composer, performer の順にフィールドの値を返す。前にあるものが優先される。
%album artist%
$if3($meta(album artist), $meta(artist), $meta(composer), $meta(performer) )
album artist, artist, composer, performer の順にフィールドの値を返す。前にあるものが優先される。
$stricmp(文字列a, 文字列b)
文字列aと文字列bが同じならば true、違えば falseを返す。文字列の大文字小文字を区別しない。
$if(条件, a, b)
条件が trueならば aを実行、falseならば bを実行。

参考にしたページ

Opera 9.5での Yahoo! Pipes

Yahoo! Pipesでは相変わらず Operaはサポートされていない。

In order of preference we recommend: Firefox, IE7, Webkit, and Safari. Pipes is known not to work in Opera. Safari has minor issues. IE6 currently has troubles.

Pipes - Frequently Asked Questions

しかし、Opera 9.2では使えないモジュールがすぐ出てきて、行き詰ったのが、Opera 9.5になってだいぶましになった。

私が気づいた良くなったところ

  • 「Filter」モジュールのルールを入れるボックスが1個しか出なかったのが、ちゃんと3個出るようになった。「Rename」モジュールも同じく。

    ボックスが1個の「Filter」モジュール

    Opera 9.2

    ボックスが3個の「Filter」モジュール

    Opera 9.5

  • 「ForEach:Replace」モジュール内の外のモジュールを入れるところが現れるようになった。「Loop」モジュールも。

    モジュールを入れるところがない「ForEach:Replace」モジュール

    Opera 9.2

    モジュールを入れるところがある「ForEach:Replace」モジュール

    Opera 9.5

  • モジュールのボックスでフィードのアイテムを指定できる時、候補が出るようになった。

    「Sort」モジュールのフィードのアイテム候補

パイプ利用時の注意

パイプを作成するかパイプのソース(モジュール)を見るには、アメリカの Yahoo!のアカウントが必要だ。(他人のパイプを利用するだけなら必要ない。)

Operaだとパイプのソースが表示されるのは遅いので、気長に待つ必要がある。モジュールが多いパイプは止めておいた方がいい。モジュールの内容にもよるが、10ぐらいが限度かな。左サイドの View Sourceの図でモジュールの数を確認する。(左サイドの Modulesの右に表示されるのは、モジュールの種類の数。)

Operaでもパイプを作ることはある程度できるが、作るのに長い時間がかかるようなものは止めておいたほうが無難かと思う。

(Operaはサポートしてないから、外のブラウザを使えなんて言ってないで、Yahoo! Pipesの人が試してくれると良いんだが。)

テキストボックスにフォーカスを移す

JavaScriptでテキストボックスにフォーカスを移す時のメモ。

ウェブページの最初のテキストボックスにフォーカスを移す。テキストボックスには文字列が入力されているとする。

テキストボックスにフォーカスを移す

// テキストボックスを取得
var input = document.getElementsByTagName('input');
for (var i = 0; i < input.length; i ++){
    if (input[i].type == 'text') break;
}
var textbox = input[i];
// テキストボックスにフォーカス
textbox.focus();

カーソル位置は移動しない。

テキストボックスの文字列を選択して、フォーカスを移す

// テキストボックスを取得
var input = document.getElementsByTagName('input');
for (var i = 0; i < input.length; i ++){
    if (input[i].type == 'text') break;
}
var textbox = input[i];
// テキストボックスを選択、フォーカス
textbox.select();
textbox.focus();

テキストボックスを空にして、フォーカスを移す

// テキストボックスを取得
var input = document.getElementsByTagName('input');
for (var i = 0; i < input.length; i ++){
    if (input[i].type == 'text') break;
}
var textbox = input[i];
// テキストボックスを空にして、フォーカス
textbox.value = '';
textbox.focus();

Opera 9.2なら下のコードでも、テキストボックスは空になっていたが、Opera 9.5からは文字列は残り、選択された状態でフォーカスが移るようになったようだ。

// テキストボックスを取得
var input = document.getElementsByTagName('input');
for (var i = 0; i < input.length; i ++){
    if (input[i].type == 'text') break;
}
var textbox = input[i];
// テキストボックスを空にして、フォーカス
textbox.focus();
textbox.select();
document.body.focus();
textbox.focus();

テキストボックスにフォーカスを移し、カーソルを文字列の最初に移動する。

// テキストボックスを取得
var input = document.getElementsByTagName('input');
for (var i = 0; i < input.length; i ++){
    if (input[i].type == 'text') break;
}
var textbox = input[i];
// テキストボックスにフォーカス、カーソル移動
textbox.focus();
textbox.setSelectionRange(0, 0);

'setSelectionRange'は選択範囲を設定するメソッド。第一引数と第二引数を同じ数にするとカーソル移動になる。

テキストボックスにフォーカスを移し、カーソルを文字列の最後に移動する。

// テキストボックスを取得
var input = document.getElementsByTagName('input');
for (var i = 0; i < input.length; i ++){
    if (input[i].type == 'text') break;
}
var textbox = input[i];
// テキストボックスにフォーカス、カーソル移動
textbox.focus();
textbox.setSelectionRange(textbox.value.length, textbox.value.length);

下記の TextRangeオブジェクトでもカーソル移動を試したが、うまく行かなかった。TextRangeオブジェクトの moveメソッドの第二引数にどの数値を入れても、文字列の先頭にカーソルが移動してしまう。

// テキストボックスを取得
var input=document.getElementsByTagName('input');
for(var i = 0; i < input.length; i ++){
    if (input[i].type == 'text')
        break;
}
var textbox = input[i];
// テキストボックスにフォーカス、カーソル移動
var range = textbox.createTextRange();
range.move('character', textbox.value.length);
range.select();

参考にしたページ

マウスキー機能

マウスの左クリックの調子が悪くなったから、マウスキー機能を使ってみた。マウスキー機能は、マウスをテンキーで操作できるようにする Windowsのユーザー補助オプション。

マウスカーソル(ポインタ)の移動、左・右クリック、ダブルクリック、ドラッグ&ドロップと、ホイールを除いたマウスの基本的な機能がそろっている。しかし、カーソルの移動が遅い。設定によってCtrlを押すことで移動が速くなることになっているが、実際にはカーソルの動きが 1ピクセルずつから 100ピクセルずつ(私の環境では)になるだけだ。

マウスキー機能の設定

コントロールパネルからユーザー補助のオプションをクリックするか、「ファイル名を指定して実行」のウィンドウを開き、テキストボックスに「access.cpl」を入力して実行して、ユーザー補助のオプションのダイアログを開く。そして、マウスタブを選択する。

ユーザー補助のオプションのマウスのダイアログ

「マウスキー機能を使う」にチェックを入れて、適用ボタン(OK)を押すと、マウスキー機能が起動する。

それから、設定ボタンを押して、マウスキー機能の設定をする。

マウスキー機能の設定のダイアログ

  • 「ショートカットキーを使う」をチェックすると、左Alt+左Shift+NumLockのホットキーでマウスキー機能が起動するようになる。
  • 「最高速度」「加速度設定」は設定を変更してもあまり変わらないような。
  • 「Ctrl キーで速く、Shift キーで遅くする」にチェックを入れると、Ctrlを押していると移動距離が増える。Shiftを押していると加速しなくなる(?)。
  • 「NumLock キーが次の状態のときにマウスキー機能を使う」。NumLockを使わない人はオン、使う人はオフに設定する。
  • 「マウス キー機能の状態を画面に表示する」にチェックを入れておくと便利。タスクトレイ(通知領域)のマウスのアイコンで、マウスキー機能がオンか、マウスのボタンの右、左どちらを選んでいるか、ボタンを押した状態にしているかが分かる。

    タスクトレイにあるマウスキー機能のアイコン

マウスキー機能のキーリスト

NumLock
マウスキー機能のスイッチ
/
左ボタンを選択
*
左右両方のボタンを選択(どういう時に使うのか分からない)
-
右ボタンを選択
+
選んだボタンをダブルクリック
0
選んだボタンを押した状態にする(ドラッグ)
.
押していたボタンを離す(ドロップ)
1
マウスカーソルを左下へ移動
2
マウスカーソルを下へ移動
3
マウスカーソルを右下へ移動
4
マウスカーソルを左へ移動
5
選んだボタンをクリック
6
マウスカーソルを右へ移動
7
マウスカーソルを左上へ移動
8
マウスカーソルを上へ移動
9
マウスカーソルを右上へ移動

参考にしたサイト

Home > 2008年09月

おまかせリンク(R)
全記事表示リンク
Search
Meta
Feeds

Page Top

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。