外国為替API

外国為替API
クジラ外国為替APIを使えば
現在の外国為替一覧が取得できます
現実世界の通貨と
ゲーム内の通貨をリンクさせられるなら
交易ゲームとかが作れそうです
クジラ外国為替API
http://api.aoikujira.com/kawase/

クロスドメイン制限の回避策その2

クロスドメイン制限の回避策その2
クロスドメイン制限の回避策として作られた手法
それがJSONP
JSONPは
JSON with Paddingの略称
これを使えば、ドメインの異なるサーバからデータの取得ができる
これは、scriptタグのライブラリ取り込み機能を使う
scriptタグのsrc属性へ設定するURLは
異なるドメインでも利用できる
この性質を利用し
WebAPIで利用するデータをJavascriptライブラリとして
うけ渡すことができる
このため、多くのWebAPIがJSONP形式でデータを提供している
scriptタグで取り込むのは
Javascriptのソースであるため
JSONPの呼び出し結果は
Javascriptのソースコードになっている

クロスドメイン制限の回避策その1

クロスドメイン制限の回避策その1
いくら、同じオリジンへ置こうとしても
さすがにWebAPIをあつかうときに、この制限てはできないため
回避策その1として
自分のサーバーへ仕掛けを作成します
Ajaxアプリは、自分のサーバーのみ通信
そして、自分のサーバーには
CGI
たとえば
PHP
Ruby
Java
などを仕込んでおき、
定期的に行うか、もしくはAjaxアプリを使い
別のドメインのWebAPIの結果を取得
受け取った結果を、自分のサーバーのAjaxアプリへ返す
つまり、自分の、サーバーへCGIを設置し
このCGIから別ドメインのWebAPIの結果を取り込むという方法
Webサーバー側のCGIなら
別サーバとの通信制限
つまりクロスドメイン制限が適用されない

クロスドメイン制限

クロスドメイン制限について
WebAPIを使うときに制限となるのが
クロスドメイン制限
これは、Javascriptのセキュリティー制限により
そのHTMLが置かれているドメインの、サーバーとしか
通信できないという制限のこと
Ajax通信できるのは
HTMLファイルが置かれているのと同じドメインのサイトのみ
厳密にいえば、オリジンが同じならok
オリジンは
プロトコル+ドメイン+サブドメイン+ポート番号
のこと
この制限がクロスドメイン制限
別名
Same-Originポリシー
とか
Same-Originルール
とか
クロスドメインセキュリティー
とか呼ばれる
このため、ゲームなどてデータを扱うときには
同一オリジンに置く必要があります
一応回避方法はあるので、また今後記載予定てす

HTTPSでのjquery利用

HTTPSてjqueryを使うときの警告について
セキュアなHTTPSのサイトで
jqueryなど、非セキュアなHTTP経由の外部ライブラリを
外部サイトから読み込むと、この警告が発生します
実害はないけど、サイト利用に不信感がでてしまうため
対策をします
すべてのCDNライブラリを含め、すべてHTTPS経由にするか
jqueryを同じフォルダーへダウンロードしてリンクする
というようにします
ちなみに、Google MicrosoftのCDNは
HTTPS経由にできます

jqueryのメソッドチェーン

jqueryのメソッドチェーン
jqueryでほ、様々名メソッドをつなげて実行できます
千代舞う度Linuxのコマンドを
パイプてつなげて実行するような感じです
例えば
$(“#msg”).html(“test”).hide().delay(1000).show(slow);
この場合
$(“#msg”)
て、ID=msgのDOM要素を取得
.html(“test”)
て、testという文字列を設定
.hide()
て、しこまでてきたら非表示にして
delay(1000)
て、1000ミリ秒待機したら
show(slow)
で、ゆっくり表示する
という流れになります

jqueryの便利なエフェクト

jqueryの便利なエフェクト
show()
hide()
は引数の設定がてきる
引数を、つけないと
アニメーション効果はなしで即座に表示になります
書式は
$(“CSSセレクタ”).show(duration, easing, callback);
$(“CSSセレクタ”).hide(duration, easing, callback);
引数の意味は
duration
アニメーションの速度の指定
slow
fast
ミリ秒単位の中から指定
easing
アニメーションの加速!減速の指定
linear
もしくはswingを指定
callback
アニメーションが終了したときに行う処理の指定となります
show() hide()以外にも様々なエフェクトがあり
引数は同じ用なものが指定できます
toggle()
隠れていれば表示、表示されていたら隠す
fadein()
フェードイン
透明なオブジェクトを段々と濃くしていきます
fadeOut()
フェードアウト
濃いオブジェクトを徐々に薄くしていきます
fadeToggle()
消えているオブジェクトはフェードインして表示
表示されているオブジェクトは消す
slideDown()
上から下へスライドして表示
slideUp()
下から上へスライドして隠す
slideToggle()
表示されているオブジェクトはスライドして隠し
隠れているなら表示する

jQueryてDOM操作

jQueryで
innerHTMLみたいにHTMLを書き換えしたいなら
$(“CSSセレクタ”).html(書き換えたい内容)
となります
ただし、
$()の戻り値で得られるのは
純粋なDOMではなく
DOM要素をラップしたjQueryのオブジェクトになります
ほかのDOM要素を操作するメソッドとしては
attr(name)
属性値nameの値を返す
attr(name, value)
属性値nameへ
新しい値となるvalueを設定
css(style)
CSSのスタイルstyleの値を返す
css(style, value)
CSSのスタイルstyleへ
値となるvalueを設定
html()
要素の子要素に設定されている
HTMLのコードの値を返す
html(str)
要素の子要素へHTMLの文字列strを設定
val()
inputタグのvalueの値を返す
val(str)inputタグの値にstrを設定
ボタンの名前の表示を変えるとかに使います
ログインからログアウトとか

災害ボランティア募集情報APIの仕様

災害ボランティア募集情報APIの仕様
詳細ページは
http://developer.yahoo.co.jp/webapi/shinsai/shinsai/v1/volunteers.html
ペースURLは
XMLの場合
http://shinsai.yahooapis.jp/v1/volunteers
リクエストパラメータの必須は
appid
これほ、アプリID
その他のリクエストパラメータとしては
query
検索する語句
ただし、URLエンコード必須
results
検索結果の数
デフォルトは20、最大は30
start
検索結果の先頭位置
デフォルトは1
lat
検索する中心地点の緯度
lon
検索する中心地点の経度
sort
検索条件を指定
+date 更新時間を昇順にする
-date 更新時間を降順にする、これがデフォルト
+dist 距離を昇順にする
-dist 距離を降順にする
レスポンスフィールドは、
Messages[totalResultsAvailable]
マッチしたデータ数
ifで判別するときに使う
0なら該当なしになる
Messages[totalResultsReturned]
レスポンスに含まれるデータの数
Messages[firstResultPosition]
最初のメッセージの順番
Message=>Body
募集メッセージ
Message->Url
Yahoo!ボランティアページのURL
Message->Contact
連絡先
Message->ContactPerson
連絡先氏名
Message->Organization
組織名
Message->Summary
詳細情報
Message->Title
募集メッセージのタイトル
Message->Address
場所
Message->Lat
緯度
Message->Lon
経度
これらをもとに、リクエストURLを作成します
キーワードで検索し
10件の情報を取得するなら
http://shinsai.yahooapis.jp/v1/volunteers?appid=アプリID&query=検索キーワード&results=10
となります
Yahoo! JAPANが提供する震災関連情報WebAPI
はいろいろとあり、
http://developer.yahoo.co.jp/webapi/shinsai/
にて紹介されています