javascript

jQuery.Deferredを使って非同期ループしよう!

突然ですが、Deferred使ってますか? jQuery.DeferredとはjQueryのバージョン1.5から導入された、非同期処理をうまく扱うための標準モジュールです。 使いこなすことで、以下のような効果が見込めます。 非同期処理を連結する際、コールバック地獄から解放さ…

かいちゃった(//▽//

ちゃんと探せばありそうだけど見つからないので…かいちゃった(//▽// 数字をKB,MB,GB等に変換する関数 (function($size,$fixed,$unit){ return function($size,$fixed,$unit){ var $len = ($size.length > $unit.length ? $unit.length : $size.length) - 1; …

JavaScriptによるRFC6570 - URI Templateの実装

JavaScriptで実装したのがdraftレベルのしか見つからなかったので作ってみました。 (↑Lv4まで対応してるのが有りました。でもせっかく作ったので引き続き公開しておきます。) URI Templateって? 簡単に言うとURIに特化したテンプレートエンジンです。 「htt…

name属性にdocumentのメソッド名を指定してはいけない例

id:masa141421356:20111201:1322749788の記事が発端ではてなブックマークで話題になっていたので調べてみた。 検証コード <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="http://code.jquery.com/jquery-1.5.min.js"></script> <script> </meta></head></html>

JavaScriptのArrayオブジェクトにmapメソッドとshuffleメソッドを実装する方法

当局の事情聴取に対し 配列をシャッフルしたかった IE7,8のArrayオブジェクトにはmapメソッドがなかった(注:IE9からは実装しています) 今は反省している(後で調べたら色々なサイトで記事になってた) 等と供述していたことが判った。 ないなら実装してしまえ…

どうしても名前空間を汚染したい時のjquery拡張

jsonpとかフラッシュから関数呼びたい時とかグローバルな名前空間汚したい時ってありますよね? 他と名前ぶつからないようにするの大変ですよね? (注意:jquery.ajaxでjsonp呼び出す時はjqueryが内部で同じような事をしています) 作り方 jquery.makeNS.jsと…

formに値を渡すjquery拡張

formに値入れるのにいちいち $(':input[name=name1]').val('value1'); $(':input[name=name2]').val('value1'); : …って書くのがめんどくさいのでまとめて渡す拡張 作り方 jquery.fillInForm.jsとか適当に名前をつけて保存します。 /* (C) makoto@2ch.to */…

jQueryにquery parserを追加する拡張

query_string(location.search)をパースしてオブジェクトを返す拡張 作り方 jquery.parse.jsとか適当に名前を付けて保存します。jquery pluginはjQuery.fn.extend(object)を利用するのが作法ですがjQuery.parse()みたいな呼び出し出来なくなるので強引に拡張…

二番煎じで作っちゃいました。一度だけアクセス可能なURLを生成するネットサービス

一度だけアクセス可能なURLを生成するネットサービスαgigazine.netさんでOne Time SecretというWEBサービスを紹介していましたが 日本語を入力するとエラーになるみたいで、twitterを見ていると日本語対応しないかな〜?とささやかれてたので作っちゃいまし…

formをajaxで呼び出すjquery拡張

formに入力させてsubmitされたらajaxでphp呼び出して〜って良くある処理を簡略化する拡張 jQureryを拡張する。 jquery.ajaxFrom.jsとか適当に名前を付けて保存します。 〜内に〜ではさんで書いても大丈夫。 /* (C) makoto@2ch.to */ if(jQuery) jQuery.fn.ex…