• jQuery UI も Twitter Bootstrapもテーマカスタマイズができた

    jQuery UI や Twitter Bootstrapのテーマを自由に変える

    jQuery UI やTwitter Bootstrapのスタイルはcssによって描画されていますが、そのCSS(と画像ファイル)を自由にカスタマイズできるページがあったみたいです。

    いやはやもう少し早く気づいておくべきでした・・。

    jQuery UI

    20120802040246

    jQuery UI ThemeRoller
    http://jqueryui.com/themeroller/

    左ペインのメニューからいろいろ設定を変更してテーマを変えていきます。ギャラリーにはテーマ一覧もあったりして便利。設定完了したら「Download theme」ボタンをクリック。

    Twitter Bootstrap

    20120802040347

    StyleBootstrap.info

    http://stylebootstrap.info/

    ここも同じようにカスタマイズした後最後にテーマをダウンロードできる。ダウンロードボタンがページ一番下にあるのでわかりにくいです。

  • bit.ly API を試してみる

    短縮URLといったら

    bitly
    https://bitly.com/

    Twitterが突発的に流行りだした時に一緒に有名になった短縮URLサービス。bit.ly ちょっとAPI調べて使ってみます。

    bit.lyで短縮URL出すにはAPIキーが必要

    これAPIリクエストの制限とかあるのかな。

    とりあえずアカウント作る

    create account のところをクリック
    20120802033214

    アカウント作ったらトップページへ

    20120802033248

    右上メニューからSETTINGS

    20120802033601

    APIキーを取得

    20120802033601

    当て込んでブラウザのアドレスバーにコピペ

    http://api.bit.ly/shorten?version=2.0.1&login=ログインアカウント名&apiKey=APIキー&longUrl=http://www.yahoo.co.jp/

    JSONでなんかデータでてくる

    {
    errorCode: 0,
    errorMessage: "",
    results: {
        http://www.yahoo.co.jp/: {
            userHash: "Qflg0g",
            shortKeywordUrl: "",
            hash: "INPsu",
            shortCNAMEUrl: "http://bit.ly/Qflg0g",
            shortUrl: "http://bit.ly/Qflg0g"
        }
    },
    statusCode: "OK"
    }Code language: JavaScript (javascript)

    ここまでJavascriptコードにする

    var xh = new XMLHttpRequest();
    xh.open("GET", "http://api.bit.ly/shorten?version=2.0.1&login=ログインアカウント名&apiKey=APIキー&longUrl=http://www.yahoo.co.jp/", false);
    xh.send();
    var obj = JSON.parse(xh.responseText);
    for (var i in obj.results){
        var url = obj.results[i].shortUrl;
    }
    alert(url);Code language: JavaScript (javascript)

    結果

    “http://bit.ly/Qflg0g”

    API制限について詳しくはこちら

    bit.lyのAPI制限は開発者にやさしい?
    http://ken.quoit.jp/2011/02/10/bit-ly%E3%81%AEapi%E5%88%B6%E9%99%90%E3%81%AF%E9%96%8B%E7%99%BA%E8%80%85%E3%81%AB%E3%82%84%E3%81%95%E3%81%97%E3%81%84%EF%BC%9F/
  • Javascriptでオブジェクトのディープコピー

    参照型

    Javascriptでオブジェクトをコピーということは基本的にできないみたい。Javascriptにおけるオブジェクトというのは、DOM要素と配列({} と [])などはオブジェクトとして扱われ、 1 とか “1” は 数値と文字列として扱われる。

    var a = [1, 2, 3 ];
    var b = a;
    b[0] = 100;
    alert(a);Code language: JavaScript (javascript)

    こうすると、bの変数の配列を一番目を変更したのにも関わらずaの配列の値が変わってる。これは変数aと変数bに格納されているデータを「参照」しているアドレスが同じ場所になってしまっているからなんだそうです。これを参照渡しと言って、Javascriptではどうあがいてもオブジェクトは参照渡しになってしまう。

    ただ、DOM要素や関数が配列内に含まれていなければある方法でオブジェクトをディープコピーできる。

    JSON

    var a = [1, 2, 3 ];
    var b = JSON.parse(JSON.stringify(a));
    b[0] = 100;
    alert(a);Code language: JavaScript (javascript)