IEのブックマークレット(orコンテキストメニュー)についてです。


行いたいことは、
WEB巡回中に簡単に紀伊国屋札幌本店で本を検索することです。


使用例として、
1.書評ブログやAmazonである書籍のページを開いている。
2.ページ内の書名テキストを選択する。
3."お気に入り"に入れたブックマークレットで(あるいはコンテキストメニュー)
  「紀伊国屋(札幌店)で検索」を押す。
4.紀伊国屋札幌店の検索ページで書名が入力された状態になっている(or直で検索)

------------------------------------------------------------------
紀伊國屋書店 札幌本店 店頭在庫検索
http://bookweb.kinokuniya.co.jp/hb/index2.cgi?KCD=FA
------------------------------------------------------------------
紀伊国屋札幌店のソースを見ると、入力欄と思われる以下の部分があり、
ブックマークレット(?)に含めてどうにかできないものかと思いました。

<INPUT NAME="W-TITLE" SIZE=40>


初歩的な質問だとは思いますが、何卒よろしくお願いします。

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/08/21 21:34:46
  • 終了:2010/08/21 23:04:43

ベストアンサー

id:worris No.1

worris回答回数78ベストアンサー獲得回数102010/08/21 22:55:10

ポイント80pt

これでいかがでしょうか。

javascript:(function(){var d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f=d.createElement('form');f.setAttribute('action','http://bookweb.kinokuniya.co.jp/hb/ws_search.cgi');f.setAttribute('accept-charset','shift_jis');var kcd=d.createElement('input');kcd.setAttribute('name','KCD');kcd.setAttribute('value','FA');f.appendChild(kcd);var title=d.createElement('input');title.setAttribute('name','W-TITLE');title.setAttribute('value',s);f.appendChild(title);d.getElementsByTagName('head')[0].appendChild(f);d.charset='shift_jis';f.submit();}());

AmazonページのISBN(ASIN)を使うのであればこれでOKなんですけど。

javascript:(function(){location.href='http://bookweb.kinokuniya.co.jp/hb/ws_search.cgi?KCD=FA&W-ISBN='...('ASIN').value}());

id:mutamutamuta

ありがとうございます。

はっ 早い。完璧です。

ISBN版は短いですね~ すっきりしてます。

ただ・・ 書名から検索する場合が多そうなのでメインは書名版にしてみます。

作成はテキストエディタでひたすら打ち込まれたんですか?

何か見やすくなるソフトなどを使用されているのですか?

もし、ご覧になっていたら、教えていただけるとありがたいです^^

2010/08/21 23:04:11
  • id:worris
    ISBN版の方が一部URLになって消えてしまっていますね。
    W-ISBN='+document.getElementById('ASIN').value}());
    です。
    Amazonページ内で呼び出したらISBN版が動くというのも良さそうですね。

    コードはテキストエディタで書きました。
    書けるだろうと思って書き始めたら、IE依存部分で少しハマりましたけど。
  • id:worris
    Amazonページ内で呼び出したらISBN版が動く版も書いてみました。

    javascript:(function(){var d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f=d.createElement('form'),asin=d.getElementById('ASIN');if(asin){location.href='http://bookweb.kinokuniya.co.jp/hb/ws_search.cgi?KCD=FA&W-ISBN='+asin.value}else{f.setAttribute('action','http://bookweb.kinokuniya.co.jp/hb/ws_search.cgi');f.setAttribute('accept-charset','shift_jis');var kcd=d.createElement('input');kcd.setAttribute('name','KCD');kcd.setAttribute('value','FA');f.appendChild(kcd);var title=d.createElement('input');title.setAttribute('name','W-TITLE');title.setAttribute('value',s);f.appendChild(title);d.getElementsByTagName('head')[0].appendChild(f);d.charset='shift_jis';f.submit();}}());
  • id:mutamutamuta
    worris 様

    エディタだけで書けるんですね。
    あこがれます・・

    条件分けの最終版をリンクバーに配置しました。
    動きも早く最高です。
    本当に助かりました、ありがとうございます!!

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません