カテゴリ別ログ
ログ検索
  
メール
  • (フォーム準備中)
リンク
サイト情報

<<前の記事 次の記事>>

1.1.2
バージョンアップです。
  • メニューバー[操作]に「URLを入力」という項目を追加

  • タグ表示欄にURLがドロップできてなかったのを修正

  • その他

クリップボードからURLを受け取る動作を廃止して以来、URLを直接入力する手段が無くなってたことに気付いたので、新設してみました。あまり使わないと思いますが、URLを直接入力したい時は、メニューバー[操作]から「URLを入力」を選択してください。


ダウンロードはこちらからどうぞ。

ブラウザからアマザーを呼び出す(3) - Opera
Operaからアマザーを呼べるようにするのは簡単です。スクリプトを書く必要すらありません。

C:¥Program Files¥Opera¥defaults¥ にある、standard_menu.ini を直接書き換えます。メモ帳などのエディタでstandard_menu.ini を開いたら、まず
[Link Popup Menu]
Item, 67389 = Open link
Item, 53018 = Open link in new page
Item, 53019 = Open link in background page
--------------------1
Item, 54020 = Open link in new window
Item, 67633 = Open link in background window
--------------------2
Item, 70463 = Add link to bookmarks
Item, 50216 = Copy link
Item, 50761 = Save link
Item, 67350 = Download url
こんなのを探してください。たぶん440行目付近にあると思います。最初の[Link Popup Menu]という項目は、リンクを右クリックした時のポップアップメニューであることを表しています。ここに、アマザーを呼ぶ命令を含めた行を挿入します。
[Link Popup Menu]
Item, 67389 = Open link
Item, 53018 = Open link in new page
Item, 53019 = Open link in background page
--------------------1
Item, 54020 = Open link in new window
Item, 67633 = Open link in background window
--------------------2
Item, 70463 = Add link to bookmarks
Item, 50216 = Copy link
Item, "アマザーに渡す" = Execute program,"C:¥tool¥am¥アマザー.exe","/url=%l"
Item, 50761 = Save link
Item, 67350 = Download url
黄色の行が、追加した行です(ピンクで書いてある部分は、自分のパソコンでのアマザーのフルパスに書き換えてください)。また、これは何行目に追加してもかまいません。並び順がそのままメニューに反映されるので、好きなところに入れてください。

この要領で、他の項目にも追加していきます。項目と、追加すべき行は以下の通りです。

470行目付近 ページ上の右クリックメニュー
[Document Popup Menu]
~ 略 ~
Item, "アマザーに渡す" = Execute program,"C:¥tool¥am¥アマザー.exe","/url=%u"

520行目付近 画像リンクの右クリックメニュー
[Image Link Popup Menu]
~ 略 ~
Item, "アマザーに渡す" = Execute program,"C:¥tool¥am¥アマザー.exe","/url=%l"

630行目付近 選択文字列の右クリックメニュー
[Hotclick Popup Menu]
~ 略 ~
Item, "アマザーに渡す" = Execute program,"C:¥tool¥am¥アマザー.exe","/asin=%t"

これらを任意の行に追加していってください。これですべて完了です。実際の動作は、こんな感じです。
  1. リンクを右クリックして実行すると、リンク先のURLがアマザーに渡される

  2. 文字列を選択した状態で右クリックして実行すると、選択文字列がISBN/ASINコードとしてアマザーに渡される

  3. 何もないところで右クリックして実行すると、見ているページのURLがアマザーに渡される

ひっかかりやすいところは、Operaの最新版である9.x系列だと、メニューに追加した日本語が文字化けする場合があるので、そのへんでハマったらOpera関連のサイトを調べたりしてみてください。

ブラウザからアマザーを呼び出す(2) - Firefox
今回は、Firefoxからアマザーを呼び出す方法です。

Firefoxにはさまざまな拡張があるので、「指定のアプリケーションに引数を渡して起動する」という動作のやり方はたぶんいろいろあると思いますが、今回はJSActionsという、右クリックメニューに自分で書いたスクリプトを追加できる拡張を使う方法を紹介します。

まずJSActionsを導入します。ファイルはこのページにあります。何種類かあるみたいですが、違いがよくわからなかったのでjsactions_2.2.0.2006032601.xpiっていうのを入れてみました。とりあえず新しそうなのを入れればいいんだろうと思います。それと、script_set.zipっていうのは必要なのでダウンロードしておいてください。

JSActionsをインストールしたら、script_set.zipを解凍して、出てきた「script_set」というフォルダを適当な場所に置き、Firefoxを再起動します。「スクリプトフォルダが指定されてません」みたいなエラーが出るので、メニューバー[ツール]→[拡張機能]からJavaScriptActionsを選択して設定ボタンを押し、Script FolderっていうところのBrowseボタンでさきほど設置したフォルダを、スクリプトフォルダとして指定します。

ここまでがJSActionsの導入です。Firefoxの画面上で右クリックして、Actionsという項目が新しくできているのを確認してください。

次に、アマザーを呼ぶスクリプトを準備します。JavaScriptで、こんな感じです。(→ダウンロード
// アマザーに渡す
jsa_amExec();
function jsa_amExec(){
    var am = _jsaCScript.convertCharCodeTo(
        "C:¥¥tool¥¥am¥¥アマザー.exe","shift_jis" );
    var cmdArg;
    if(_jsaCScript.context.onLink){
        cmdArg = "/url=" + _jsaCScript.context.link.href;
    }
    else if(_jsaCScript.context.isTextSelected){
        cmdArg = "/asin=" + window.getSelection();
    }
    else{
        cmdArg = "/url=" + window.location;
    }
    _jsaCScript.exec(am, cmdArg);
}

ピンクで書いてある部分は、自分のパソコンでのアマザーのフルパスに書き換えてください。前回IE用で紹介したVBScriptと違ってちょっと注意すべき点は、パス区切りの¥記号は二つ重ねるということです。書き換えたら、このスクリプトに好きな名前を付けて拡張子.jsで保存して、スクリプトフォルダの「global」っていうフォルダに入れます。

これですべて完了です。実際の動作は、こんな感じです。
  1. リンクを右クリックして実行すると、リンク先のURLがアマザーに渡される

  2. 文字列を選択して実行すると、選択文字列がISBN/ASINコードとしてアマザーに渡される

  3. それ以外(何もないところで右クリック)だと、見ているページのURLがアマザーに渡される
JSActionsは他にも便利なスクリプトがたくさん入っていて、JavaScriptを全然知らなくても、勘でちょこちょこ書き換えると何となくやりたいことができたりするので、面白いかもしれません。

ブラウザからアマザーを呼び出す(1) - IE / Sleipnir
まず、IEの右クリックメニューからアマザーを呼び出す方法を紹介します。

IEの右クリックメニューを拡張するには、スクリプトファイルを用意して、それをIEに登録するという作業が必要です。

スクリプトは、だいたいこんな感じです。(→ダウンロード
'//開いているページのURLをアマザーに渡す
<SCRIPT LANGUAGE="VBScript">
UrlTxt = external.menuArguments.top.document.URL
Set WSHShell = CreateObject("Wscript.Shell")
cmdArg = "/url=" & UrlTxt
am = """C:¥tool¥am¥アマザー.exe""" & cmdArg
WSHShell.Run am
</SCRIPT>

'//リンク先のURLをアマザーに渡す
<SCRIPT LANGUAGE="VBScript">
LnkTxt = external.menuArguments.event.srcElement.href
Set WSHShell = CreateObject("Wscript.Shell")
cmdArg = "/url=" & LnkTxt
am = """C:¥tool¥am¥アマザー.exe""" & cmdArg
WSHShell.Run am
</SCRIPT>

'//選択している文字列をISBN/ASINコードとしてアマザーに渡す
<SCRIPT LANGUAGE="VBScript">
SelTxt = external.menuArguments.document.selection.createRange().text
Set WSHShell = CreateObject("Wscript.Shell")
cmdArg = "/asin=" & Trim(SelTxt)
am = """C:¥tool¥am¥アマザー.exe""" & cmdArg
WSHShell.Run am
</SCRIPT>

ピンクで書いてある部分は、自分のパソコンでのアマザーのフルパスに書き換えてください。編集し終わったら、これらのスクリプトを、好きな名前に拡張子.htmlで保存して、IEに登録します。登録はレジストリの変更を伴う作業なので、専用のツールを使います。検索してみて、好きなものを使ってください。一応、動作確認に使ったのはIE MenuExtというツールです。定番みたいです。「リンク上」「テキスト選択時」など、メニューに出すタイミングも選べるので、適当に設定してください。

これで完了です。IE系のブラウザなら、この方法でブラウザからアマザーを呼べるようになります。

-------------------------

ついでに、IE系ブラウザの中でもユーザーの多いSleipnirでの方法を紹介します。

Sleipnirを使っているなら、右クリックメニューの拡張ではなく、こんなスクリプトを置く方法もあります。(→ダウンロード
'//Sleipnirで見ているページのURLをアマザーに渡す
Set WSHShell = CreateObject("Wscript.Shell")
Set slpObj = CreateObject("Sleipnir.API")
cmdArg = "/url=" & slpObj.URL
am = """C:¥tool¥am¥アマザー.exe""" & cmdArg
WSHShell.Run am

Set slpObj = Nothing
Set WSHShell = Nothing

'//選択している文字列をISBN/ASINコードとしてアマザーに渡す
Set WSHShell = CreateObject("Wscript.Shell")
Set slpObj = CreateObject("Sleipnir.API")
id = slpObj.GetDocumentID(slpObj.ActiveIndex)
Set document = slpObj.GetDocumentObject(id)
if document Is Nothing then
    Call slpObj.MessageBox("Document オブジェクトを作成できません")
else
    SelTxt = document.selection.createRange().text
    if Len(SelTxt) > 0 then
        cmdArg = "/asin=" & SelTxt
        am = """C:¥tool¥am¥アマザー.exe""" & cmdArg
        WSHShell.Run am
    else
        Call slpObj.MessageBox("文字列が選択されていません")
    end if
end if

Set document = Nothing
Set slpObj = Nothing
Set WSHShell = Nothing

これらのスクリプトを拡張子.vbsで保存して、メニューバー[スクリプト]→[スクリプトの整理]で開くフォルダの、好きなジャンルのところに入れておくと、メニューバー[スクリプト]→(ジャンル名)から呼び出せるようになります。

また、UserAction Extensionというプラグインを導入してスクリプトファイルをC:¥Program Files¥Fenrir & Co¥Sleipnir¥plugins¥scriptsに置けば、メニューバー[ツール]→[Sleipnirオプション]→ユーザインタフェースで、キーボードやマウスジェスチャから呼び出す設定が行えるようになります。ただ、Sleipnirの仕様の都合上なのか、UserAction Extensionから2番目のスクリプトを使うと、今のところエラーが出るみたいです。Sleipnirがバージョンアップして、これが動くようになれば、C:¥Program Files¥Fenrir & Co¥Sleipnir¥resources¥languages¥default¥japanese¥ SmartSearchPopup.xmlを編集してSmartSearchに登録することで、さらに便利に使えそうです。

1.1.1
バージョンアップです。
  • 起動時の画面サイズを指定する設定を追加

  • 対応URLを1種類追加

  • 1.1.0で設定のインポートが失敗していたのを修正

  • その他

起動時の画面サイズを指定するにはメニューバー[ツール]→[設定]→基本設定タブでサイズ指定にチェックを入れてください。

今回は地味な修正がメインですが、わりと重要なこともやってたりするので、バージョンアップ推奨です。


ダウンロードはこちらからどうぞ。

1.1.0
バージョンアップです。今回から1.1系とします。
  • 起動オプションに「/asin=」と「/url=」の二種類が使えるようになった

  • テンプレートに使える文字列に{曲目}を追加

  • 自動化設定に「コピーと同時にプレビュー」という設定項目を追加

  • その他

画期的なところは、「/url=」を付ければ商品URLをそのままコマンドライン引数として渡すことが可能になった点です(ISBN/ASINコードを渡す時には「/asin=」を付けるようになりました)。そんなマニアックなことはしないよ、という人にも便利です。たとえば、ブラウザに組み込んだりすることがすごくラクにできます。方法は、追々ここに書いていこうと思ってます。

テンプレートに新規追加された{曲目}タグは、収録曲を取得してコンマ区切りで表示します(設定で<br />区切りにすることもできます→Webヘルプ::4-3 タグ設定タブ)。複数枚ディスクの時は、それぞれ「ディスク 1」「ディスク 2」...というのが自動で付きます。今回、templatesフォルダに「音楽.txt」っていうテンプレートファイルを入れてみたので、動作確認に使ってみてください。

「タグ生成と同時にプレビュー」は、読んだままです。プレビューはブラウザを起動するため、わりと動作が重かったりするので、自動機能に組み込むことは考えてなかったんですが、やっぱり付けてみました。重いことさえ気にならなければ便利です。使う場合は、設定ウインドウの自動化設定タブからチェックです。

そして、今回は「その他」として行った更新がものすごく多いです。使用感はそれほど変わってませんが、バージョンも2.0って言っちゃおうかと思ったくらい中身が変わってます。全面的にコードを見直したので、無駄な処理がかなり減ってます。局所的には劇的に速くなったところもあったりします。また、いろんなバグが直ってます。ズバズバ直ってる、と言っていいと思います。仕様変更に伴ってドロップ.exeも作り直しました(→こちらから)が、それに至っては「今まで使えなかったが、使えるようになった」みたいな、そういうレベルで直ってます。まあ、いろいろいっぺんに変わったので、もしかしたら違うところがおかしくなってるかもしれませんが。

あと、細かいところをひとつ挙げると、「クリップボードにコピー実行時にダイアログを表示しない」という設定を行っている場合は、コピーした時にビープ音が出るようにしました。ビープ音って言っても、あの本体から出るびっくりするやつじゃなくて、ダイアログが出る時にも鳴るビープ音です。これで、全自動設定を使ってる場合も、動作が終わったことを確認できると思います。

他にもいろいろありますが、このへんにしておきます。


ダウンロードはこちらからどうぞ。

ハイフン
ドロップウインドウ周りの細かい修正をしてて思い出したんですが、書籍についてるISBNコードって本当はハイフン区切りになってます。

例) 4-529-04230-8

出版社のサイトや、図書館ホームページなどでは、こういった表記になってると思います。今まで書き忘れてたんですが、こういうのをハイフン区切りのままドロップウインドウに貼り付けてEnterキーを押しても、ちゃんと認識します。ハイフンは自動で削除されます。本体ウインドウのISBN/ASINコード入力欄でも、ドロップ.exeでもそういうふうになってます。

もっと言うと、前後の空白も無視するので少しくらいなら雑にコピーしても大丈夫ですし、アルファベットは小文字で打ち込んでも大文字に変換されます。

1.0.3
バージョンアップです。
  • 起動時にコマンドライン引数を受け取るようにした

  • その他

今までは、起動時にクリップボードを読んでISBN/ASINコードっぽい文字列があるかどうかを確認していましたが、それをやめて、代わりに、ISBN/ASINコードをコマンドライン引数として渡して起動できるようにしました。そういう機能のあるランチャ等を使ってる場合は、そういうこともできます。

影響としては、今までのドロップ.exeが使えなくなります。ドロップ.exeを使ってる方は、新バージョンを合わせてダウンロードしてください(→こちらから)。今度のバージョンはクリップボードを経由しないので、使っていてもクリップボードにISBN/ASINコードが上書きされません。

あと、Amazon側で出すデータ形式が少し変わったらしいので、新しいデータを呼ぶようにしたりもしてます。たぶん大丈夫だと思いますが、データの読み取りに失敗してるようだったら教えてください。


ダウンロードはこちらからどうぞ。

△ PAGE TOP