アマゾンショートURI ― 2011/01/10 21:43
この前、CopyUrlLitePlus.uc.jsをいじってアマゾンの商品コード(ASIN)?のあるページでトラッキングID付きのリンクを作れるようにしたのですが、ASINのないアマゾンのページで動かなくなるのに気づきました。orz
JavaScriptを勉強したわけでもなく、Gumblarの難読化コードとPDF/PPT/TIF viewer with Google docsをいじってるうちになんとなく読めるようになっただけなので、デバグ方法を知るはずもなく途方にくれてBookmarkletをいじってるうちに、getElementByIdで見つからないときはエラーになるのだとようやく理解。
それまではnullになるのだろうと思ってました。^^;
で、夢中になって昨日は更新してる暇がなかったと。
今日は今日でエラー回避はどうやってやるん?で時間をつぶすハメにw
一応解決しましたが、更にASINのないページにはトラッキングIDのタグを埋め込もうかと考えてみたものの、開いてるページのURIに既にトラッキングIDが含まれている場合のスマートな対応方法が思いつかず断念しました。
この前は、人様のコードをちょっぴり書き換えただけなので差分だけ書くかもと言ってたわけですが、よく見てみればinit以外はコードの半分くらい手が入っているので差分にならんがなぁ(そのままのせるのとあんまり変わらん)。
どうしたものか(覚書をローカルだけに残しておこうか)と思いつつ、せっかくなんでBookmarkletだけでも貼っておきます。
説明不要とは思いますが、下のコードをブックマークのURLに入れておいて、アマゾンの商品ページで動かすと短いURLが表示されますのでコピーするもよし、「OK」ボタンを押して短いURLに移動したあとでMake LinkやCopyUrlLitePlusを使うもよしというものです。
こんな長いURIが↓のように短くなったりします。
トラッキングID不要な場合
javascript:(function(){var lk='http://amazon.jp/dp/'+document.getElementById('ASIN').value;if(prompt('OK で Short Link に移動',lk)) location.href=lk;})();Amazon Short URI を右クリックして「このリンクをブックマーク」で登録できます。
トラッキングIDを含める場合(コピーしたあと「トラッキング」を自分のトラッキングIDに書き換えてください。
javascript:(function(){var lk='http://amazon.jp/o/ASIN/'+document.getElementById('ASIN').value+'/トラッキング';if(prompt('OK で Short Link に移動',lk)) location.href=lk;})();
トラッキングIDを埋め込んだら、間違いがないか「リンクの動作確認ツール」で確認しておきましょう。
BookmarkletとノーマルのCopyUrlLitePlus.uc.js - Code-404でほぼ事足りるのですが、埋め込み画像を作るときの一手間を削るために、元がとれないほどの時間をつぎ込むのもまた一興……^^;
まぁだから覚書程度にでも公開しないともったいないと思うわけで。
最近のコメント