外国通貨→円換算のbookmarklet

  • /*
     * @title       外国通貨→円換算のbookmarklet
     * @description 最新の為替レートの取得し、価格を円に換算します(米ドル、ユーロ、ポンドに対応)
     * @description Amazonnなど海外サイトのオンラインショッピングにどうぞ
     * @description 為替確認API(http://api.aoikujira.com/kawase/)を利用
     * @include     http://*
     * @include     https://*
     * @require     jQuery
     */
    
    $.ajax({
        url: "http://jsonpwrapper.com/?urls[]=http://api.aoikujira.com/kawase/json",
        dataType: 'jsonp',
        success: function(data) {
            //console.log(data);
            var exchange_rate = $.parseJSON(data[0].body);
            
            var p, i;
            var html = document.body.innerHTML;
            
            //alert(exchange_rate.update);
            
            for (p=0; p<6; p++)
            {
                var pricie, rate_tmp;
                if      (p==0) { money = html.match(/EUR *[0-9]+[,.][0-9]+/g); }
                else if (p==1) { money = html.match(/EUR *[0-9]+/g); }
                else if (p==2) { money = html.match(/\$ *[0-9]+[,.][0-9]+/g); }
                else if (p==3) { money = html.match(/\$ *[0-9]+/g); }
                else if (p==4) { money = html.match(/£ *[0-9]+[,.][0-9]+/g); }
                else if (p==5) { money = html.match(/£ *[0-9]+/g); }
                
                if(!!money)
                {
                    if      (p<2){ rate_tmp = exchange_rate.EUR; }
                    else if (p<4){ rate_tmp = exchange_rate.USD; }
                    else if (p<6){ rate_tmp = exchange_rate.GBP; }
                    
                    i = money.length;
                    while(i--)
                    {
                        var original = String(money[i].match(/[0-9,]+/)).replace("," , ".");
                        var yen = parseInt(original / rate_tmp);
                        yen = "¥ " + String(yen);
                        html = html.replace(money[i], yen);
                    }
                }
            }
            document.body.innerHTML = html;
        },
        error: function() {
            alert("jsonp error");
        }
    });
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2010/09/17 21:33:20 - 2010-09-17