タグ

ブックマーク / 0-9.tumblr.com (6)

  • カジュアルにChrome extensionを書いてみる

    Chrome extensionを0から開発しようとするとmanifest.jsonとか色々考えないといけないので、すでにインストール済みのextensionを改造するのをおすすめします。 書き換えたいextensionを入れる。普通にChrome ウェブストア - 拡張機能からインストールします。 extension idを取る。インストールページのURL末尾にあるアルファベットの羅列がextension idです。 すでにインストール済みのextension idが欲しい場合、「extensionの管理画面( chrome://extensions )」から対象のextensionの脇にある「Visit website」をたどるといいです。 ソースを見る。Macの場合以下の場所にあります。 ~/Library/Application\ Support/Google/Chrome/Def

    カジュアルにChrome extensionを書いてみる
  • CSSファイルをJSから非同期読込する方法

    CSSファイルをクライアントサイドだけで動的なURLつけて非同期読み込みしたい場合、単純に以下のようなコードを書くと同期読み込みになって読み込み完了まで他のファイルの読み込みがブロックされる。 (function () { var href = 'style sheet url'; var link = document.createElement('link'); link.rel = 'stylesheet'; link.href = href; var head = document.getElementsByTagName('head')[0]; head.appendChild(link); })(); これに関しては以下のように別のiframeを作成して読みこめば非同期で読み込めるので、他のファイルの読み込みをブロックしない。 (iOS, Androidで動作を確認) (fun

    CSSファイルをJSから非同期読込する方法
  • JsTestDriverを使うときの注意点

    ・ファイル構成 以下の構成が無難(srcは別の名前でもいい) src ソースコード test テストコード test/JsTestDriver.conf ・JsTestDriver.conf コードの読み込みはexcludeである程度制御できるけど、どうせ依存関係あるし*ではなくて一個づつファイル指定するほうが無難 WebStorm使うならserverは指定しなくてOK *で読み込む場合アルファベット順になるので注意(アルファベット順なのは保証されてるっぽいのでそれに依存するのはOK) http://code.google.com/p/js-test-driver/wiki/ConfigurationFile 各種ファイルパスはJsTestDriver.conf起点になるので注意 (ディレクトリ指定でも常にJsTestDriver.conf起点固定っぽい) ・リンクされてないドキュメント

    JsTestDriverを使うときの注意点
  • Fiddler、CharlesでのUA差し替えの方法

    Fiddlerの場合、Fiddler起動後、Ctrl+rを押してFiddlerScriptを以下のように修正すれば可能 static function OnBeforeRequest(oSession: Session) { // 上記行の下に以下の行を追加 if ( ~oSession.host.indexOf(‘example.jp’) || ~oSession.host.indexOf('localhost’) // ドメインを追加したい場合、上記行をコピペして追加 ) { // UAは好みに合わせて oSession.oRequest[“User-Agent”] = “Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Versio

    Fiddler、CharlesでのUA差し替えの方法
    aki77
    aki77 2012/01/26
  • jQueryのliveやdelegateは実際何をやってるのか

    jQueryにはイベント制御のAPIとして、clickやmouseoverの元になるbindの他に、同じような呼び出し方のliveやdelegateが提供されている。 bindはDOM APIで提供されているaddEventListenerのwrapperだが、liveは以下のような実装になっている。 1. 第一引数のイベント名でdocument objectにlive用のイベントハンドラーをbindする 2. 1で設定したイベントハンドラー内でdocument object内に存在する要素上で発生したイベントを全てキャッチする ・イベントの発生元要素がbind時に設定されたセレクタに一致する場合、第二引数に指定されたユーザーのイベントハンドラーを呼び出す これはもともと「多量の要素に対してbindするとUIをロックしてしまう」という問題の対策として知られていた手法だが、liveはそれをj

    jQueryのliveやdelegateは実際何をやってるのか
    aki77
    aki77 2011/10/23
  • 自分のコーディングルールとその理由

    ・横80列で折り返す。 普段80列で開発してるわけじゃないけど、横に長いコードも見にくいので。 ・1funtionは30行にする。 これも列指定と同じ意味で。 数字自体はそこまで意味がないけど、長いコードはそれ自体問題がある可能性が高い。 ・1ファイルは200~300行 「JSを1ファイルに200行以上書くと人間は死ぬ」と言われてるけど、実際はもうちょっと多くても大丈夫。 ・インデントは8タブ タブを使う理由は「タブはスペースに一括置換できるけど、スペースはタブに一括置換できない」から。 なので、コード中にコードインデント以外でハードタブは記述しない(文字列内に記述する時は¥tで記述する) タブの表示数はエディタ毎の設定次第だけど、インデントの深いコードが書きにくくなるので8タブで書く。 ただし、インデントの文字数に依存するインデントはしない(4タブでも正常なインデントになるように記述する

    自分のコーディングルールとその理由
  • 1