タグ

2007年10月21日のブックマーク (5件)

  • TinyColorPicker.js を公開しました - p4lifeのメモ

    TinyColorPicker.js (http://p4life.jp/tinycolorpicker/)TinyColorPicker.js は tiny なカラーピッカーです. ユーザーは,あらかじめ用意された数十色のパレットから色を選択することができます. このライブラリは Yahoo! User Interface Library(YUI) に依存しています.http://p4life.jp/tinycolorpicker/ TinyColorPicker.js は次のような特徴があります: 選べる色が少ないので迷いにくい是非お試しください. ■ 追記選べる色が多いカラーピッカーは下記にまとめられていて参考になります:http://phpspot.org/blog/archives/2006/10/javascript_28.html

    usj12262
    usj12262 2007/10/21
    122行, 4KB。わかりやすくてよい
  • 色表現を変換するJavaScriptライブラリ - rgbcolor.js - p4lifeのメモ

    CSSの色指定方法には, #(シャープ)記号の後にRGBを6桁の16進数で指定する方法(e.g. #ff0000) #記号の後にRGBを3桁の16進数で指定する方法(e.g. #f00) rgb() の括弧内にRGBを10進数で指定する方法(e.g. rgb(255,0,0)) 色名を指定する方法(e.g. red)など,色々あります. 入力が柔軟なのは良いことなのですが,ひとつ困ったことがあって,以下のように色を取得すると IE では #ccc がそのまま表示されて,FireFox では rgb(204,204,204) という表現に変換されてしまいます. div id="mycolor" style="background-color:#ccc">div> script type="text/javascript"> // var el = document.getElementByI

    usj12262
    usj12262 2007/10/21
    rgbcolor.js, 289行, 9KB。ちょっと大きいかな。。
  • JavaScript でゼロパディングするときは slice を使う - p4lifeのメモ

    以前のメモ( JavaScript の substr には気をつけた方が良い - p4lifeのメモ)では,substr メソッドを使って Firefox,IE 両方に対応するゼロパディングを実装した.ただ,冗長になってしまって綺麗なコードではなかった. // substr を使うと length を入れるのが面倒 var d = new Date(2007, 6, 10); var m = "0" + (d.getMonth() + 1); var a = "0" + d.getDate(); var s = d.getFullYear() + m.substr(m.length - 2) + a.substr(a.length - 2); // s == "20070710" → 期待通り しばらくして,コメント欄で slice メソッドを使えば良いということを教えてもらったので,さっ

    usj12262
    usj12262 2007/10/21
    slice(-2)
  • すごいリロード対策 - p4lifeのメモ

    メモ, PHPPHP TIPS】 58. すごいリロード対策紹介されているのはシンプルなワンタイムトークン.単純なリロード対策であれば ticket の値は乱数でなくても良い.ここを乱数にすることで CSRF 対策も兼ねている.ただこの方法は,場合によってはフォームを正常に送信できなくなってしまう問題がある. 例えば,入力画面→入力確認画面と遷移してから別のウィンドウで入力画面→入力確認画面と遷移すると,前の入力確認画面のフォームは ticket が無効になり,フォームを送信できなくなる(複数画面同時編集ができない). 解決策としては,発行したトークンを全て記憶しておき,POST されたトークンと照合する方法がある. confirm.php session_start(); $token = sha1(uniqid(mt_rand(), true)); // トークンをセッションに追加す

    usj12262
    usj12262 2007/10/21
    複数トークンへの対応
  • 58. すごいリロード対策

    まず、日のサイトにある一般的な登録フォームの画面遷移は 入力画面→入力確認画面→完了画面 となっている場合が多いようです。ここでリロード問題となるのは完了画面でのDBへのINSERT処理やCSV書き出し処理、メール送信処理など「一度しか行わない処理」です。例えば完了画面へ遷移した際にブラウザのリロードボタンが押された場合、確認画面よりsubmitした情報が再度submitされて上記の一度しか行わない処理が二度行われてしまいます。そうならないよう、リロード対策はスクリプトで制御します。 まずは確認画面のスクリプト 確認画面でチケットを発行し、セッションに保存しておきます。同時に完了画面へチケットがPOSTされるよう、hiddenにセット。こうして完了画面へ遷移させます。それでは完了画面のスクリプトを見てみましょう。 このように、確認画面で発行されたチケットは一度使い切ってしまえば2度処理さ

    58. すごいリロード対策
    usj12262
    usj12262 2007/10/21
    んー