AmazonAPIの規約変更に伴い、カエレバの代替えを自作しようといろいろ勉強しています。
ブックマークレットを作るために調べたJavascript便利コードをいくつか、自分用の覚書も兼ねて紹介します。
もくじ
ブックマークレット化
Javascriptをブラウザのブックマークに登録しておき、クリックひとつで実行できるようにする。
javascript:
コードの先頭に、付け加えるだけです。
選択文字列の取得
ドラッグなどで選択状態にした文字列を変数に代入する。
window.getSelection().toString();
取得した文字列を変数に代入するときは、このように。
var img=window.getSelection().toString();
ASINを取得
Amazonの商品コードであるASINを取得します。
location.pathname.replace(/.*\/(ASIN|dp|product|aw\/d)\/([0-9A-Z]+)\/.*/,'$2');
ソースコードから情報を取得する
ホームページの各要素から情報を取得します。
document.title タイトルを取得 document.getElementById('ID名') 指定したIDを持つ要素を取得 document.getElementByTagName('Tag名') 指定したTag要素から情報を取得 document.getElementByClassName('Class名') 指定したClassを持つ要素を取得 document.getElementByName('Name名') 指定したNameを持つ要素を取得
編集可能なポップアッププロンプトで取得
取得した情報をポップアップ画面で編集し、編集結果を取得します。
prompt('ポップアップのタイトル',処理コード);
例えば、ページタイトルを取得して、余分な部分を削除などの編集結果を変数へ代入する場合は、このようになります。
var title=prompt('タイトルを取得',document.title);
また、単体で使うとポップアップ画面に取得した情報が編集可能状態で表示されるので、単純にコピペすることもできます。
ASINを表示させてコピペしたい場合は、このようになります。
prompt('ASINを取得',location.pathname.replace(/.*\/(ASIN|dp|product|aw\/d)\/([0-9A-Z]+)\/.*/,'$2'));
まとめ
自作のカエレバ代替えサービスを作るために、いろいろと勉強中です。
前回作ったものは、初めてということもありグダグダすぎたので、使いやすくするべく更に勉強しています。
少しずつですが、より良いものが作れるようになりたいですね。