タグ

ブックマーク / d.hatena.ne.jp/brazil (58)

  • Collection & Copy - そのリソースを訪問済みか判定する

    JavaScriptリンク要素のアドレスなどをユーザーが訪れたことがあるか否かをJavaScriptから知る方法を以前調べたがわからなかった。多分、プライバシーの問題の絡みで存在しないのだと勝手に合点した。今日、CSS(display:none) + 擬似セレクタ(:hover) + 要素の高さ(offsetHeight) の組み合わせを思いつき書いた。 function isVisited(link){ if(!isVisited.initialized){ isVisited.initialized = true; addRule("#check_visited:visited", "display:none"); } var a = document.createElement("a"); a.href = link; a.id = "check_visited"; documen

    wacky
    wacky 2006/08/13
    指定URLへ訪問済みかどうかをJavaScriptから判定するテクニック。CSS(display:none) + 疑似セレクタ(:hover) + 要素の高さ(offsetHeight) の組み合わせを利用。
  • テンプレート関連 - FAX

    テンプレート関連 JavaScript 最終更新 2008/9/23 日野望の会−Yabooo.org » JavascriptHTML::Template | Matthias Georgi - Patroon - a Javascript Template Engine google-jstemplate - Google Code Ajaxian » Django Template Language in JavaScript EJS - Embedded JavaScript at Edward Benson JsonML (JSON Markup Language) IT戦記 - JsonML を使う高速テンプレートエンジン「JsonML.Template」 JSLT javascript-based XSLT alternative ZParse - Advanced J

    wacky
    wacky 2006/08/13
    JavaScriptによるテンプレートエンジンのまとめ。
  • Collection & Copy - 複数行の文字列

    複数行の文字列 JavaScript Javascript Boot Camp Tutorial \を行端に置くことで、文字列を複数行に分けて記述できることを知った。 IE、Forefox、Operaで確認をした。 alert("<html>\ <body>\ <div>\ </div>\ </body>\ </html>"); 文字列リテラル (String Literals) ECMA Scriptの仕様を読んでも難しく、このことが記述されているのか否か判断ができない。 『JavaScript』の文字列リテラルの項を読み直してみたが記述は見当たらず、これまで色々なコードを読んだが利用されている例に会わなかった。 追記 2006/8/7 nanto_viさんから、詳細な情報をコメントで頂きました。 こちらへ転載させていただきます。 いつも、いつも、当にありがとうございます。 nanto

    wacky
    wacky 2006/08/07
    複数行の文字列リテラルは、JavaScript/JScriptでの独自拡張とのこと。JavaScript 1.5からは改行ごと無視されるらしい。
  • Collection & Copy - JavaScriptの圧縮/曖昧化/難読化

    圧縮/曖昧化/難読化関連 リンク, JavaScript 最終更新 2008/2/20 ANTとYUICompressor2系 - Thousand Years CompressorRater - Rate JavaScript Compression Utilities 無圧縮/JSMin/Dojo ShrinkSafe/YUI Compressorを比較できる。 Painfully Obvious » Blog Archive » Packing Prototype Prototype.jsの圧縮。Dojo ShrinkSafe利用。 minify - Google Code AssetPackager – JavaScript and CSS Asset Compression for Production Rails Apps js-builder - Google Code Ja

    wacky
    wacky 2006/08/06
    JavaScriptのソースコードを圧縮・曖昧化・難読化、またその解除を行うツールのリンク集。
  • Collection &amp; Copy - ヒアドキュメント、IE専用、コメント

    JavaScript function hdoc(){ return arguments.callee.caller.toString().match(/hdoc\(\/\*(([\n\r]|.)+)\*\/\)/m)[1]; } function hdocTest(){ var message = hdoc(/* Peter Piper picked a peck of pickled peppers; A peck of pickled peppers Peter Piper picked. If Peter Piper picked a peck of pickled peppers, Where's the peck of pickled peppers Peter Piper picked? */); alert(message); } 関連リンクCollection & C

    wacky
    wacky 2006/08/02
    HTMLコメントを利用して、JavaScript上でヒアドキュメントを実現するテクニック。IE専用。
  • ニンテンドーDSブラウザー - FAX

    画像表示もJavaScriptの実行も非常に遅い。例えば以下のページで、一手20秒から30秒かかる。 JavaScript オセロ 以下のページは表示までに3分程度かかる。JavaScript(prototype.js+scriptaculous)の動作は、遅い以外はとりあえず問題がないように見える。 An Ajax-ready sliding gallery 以下も、ほぼ動くが遅い。 eyehook - games : COLOR box 通常のページの表示もとにかく遅く、自分のブックマークのページなどを表示すると、動作が止まり挙動が不振になる。ルーターやネットワークの相性が関係あるのだろうか。 この挙動だと用途がない。 2006/7/25 追記以下ページで画像を全て表示させると、完全に描画が終わるのに2分近くかかる。 Opera ブラウザ CPUが遅いからしょうがないという書き込みも頂

    wacky
    wacky 2006/07/24
    ニンテンドーDSブラウザは、画像表示もJavaScriptの実行も非常に遅いとのこと。一応、prototype.js + script.aculo.us は動作するらしい。
  • 繰り返し文字列を生成する、pad - FAX

    繰り返し文字列を生成する、pad JavaScript 特定の文字が繰り返される文字列は以下のように書ける。 // '_'を4回繰り返す new Array(5).join('_') // ____ 指定桁数で埋めるpadは以下。 function pad(str, len, ch){return new Array(len-(''+str).length+1).join(ch) + str} alert(pad(56, 4, '0')); // 0056 追記 2006/8/6 string_repeat - Javascript - Snipplr 普通に繰り返しで書いたほうが速いとのこと。 Permalink | コメント(0) | トラックバック(1) | 22:52

    wacky
    wacky 2006/07/22
    Array と join() を使って任意の文字列を繰り返すテクニック。その応用で、指定桁数の数値を生成。
  • JSFromHell.com、基本ライブラリ - FAX

    JSFromHell.com、基ライブラリ JavaScript, リンク (via Code Snippets) JSFromHell.com 他で見かけないが使い時がありそうな関数とクラス。基礎的な機能。 リンク機能 Big Number大きい数値 JSON Template Engineテンプレートエンジン Function Overloaderオーバーロード補助 Binary Parserバイナリ値の取り扱い Math Parser数式のパース Format Currency金額フォーマット Masked Inputマスク入力 ツールチップ、補完、ドラッグ、フォームコントロールの体裁変更、フォーマット、文字列揃えなどの機能もある。 オーバーロード。 func = new Overloader; func.overload(function(x){ // 数値引数 }, Numbe

    wacky
    wacky 2006/06/20
    便利なJavaScriptライブラリ集「JSFromHell.com」の紹介。『他で見かけないが使い時がありそうな関数とクラス』が役立ちそう。
  • Collection & Copy - MochiKit - スタイルガイド

    MochiKit - スタイルガイド 翻訳 原文:StyleGuide - MochiKit - Trac MochiKitのコーディング規約の大部分はPythonのPEP8とPEP 7(この順に優先される)に従っている。しかし、JavaScript特有の点もいくつかある : ビルトイン・オブジェクト、およびそのプロトタイプを絶対に変更しない。(例えば、このようなことは行わない: Object.prototype.foo = REALLY_BAD! ) 代わりに関数の使用を志向する。 関数のようにtypeof演算子を使用する : typeof x ではなく typeof(x) コンストラクタを使用するときには引数を括弧に入れる : new Error, foo ではなく new wError("foo") 常に完全修飾子で他の関数を呼び出す。また利便性のための記号的なエイリアスも用いない

    wacky
    wacky 2006/06/15
    MochiKitのコーディング規約の一部。カッチリ決められてるんだな。prototype.jsなどとはまた異なる方向性。
  • Collection & Copy - 月の日数を求める

    JavaScriptきしださん(id:nowokay)コメント、ストライクです。これだ、これだよー。0で前月の最終日だよ。 new Date(year, month+1, 0).getDate(); (found at Determining the Number of Days in a Month with Javascript) function daysInMonth(month, year){ return 32 - new Date(year, month, 32).getDate(); } これおしゃれやわぁ。日付をロールオーバーさせて基礎値から引くかんじ。日数の最大値より多ければ、32でも40でもいいんだな。 私が考えたのは、月初の前日の日を調べるやつで、Dateオブジェクトが無駄でした。 function getLastDateOfMonth(year, month

    wacky
    wacky 2006/06/08
    「当月の日数を求める」、「前月の日数を求める」それぞれのオシャレなJavaScriptコード。
  • 3つの数の最大値を返す - FAX

    JavaScriptnanto_viさんに以下でいけるとコメント頂きました。 Math.max(red, green, blue) うっ、これです。もう胸が痛い...。イディオムとかじゃなくて、単なる関数の使い方のレベルです。もーMochiKitのやつめー(やつあたり)。 15.8 Math オブジェクト (The Math Object) (found at Mochikit.Color) Math.max(Math.max(red, green), blue);

    wacky
    wacky 2006/06/06
    Math.max() をネストすれば3個以上の数値から最大値を得ることができる。
  • ブックマークレットの文字数制限、IE 7 beta 2 - FAX

    JavaScriptRules for Bookmarklets ブラウザ最大文字数Netscape> 2000Firefox> 2000Opera> 2000IE 42084IE 52084IE 6508IE 6 SP 2488IE 7 beta 22084 戻ってる。

    wacky
    wacky 2006/05/23
    IE7ではお気に入りのURLの文字数制限が2084に戻っているとのこと。
  • Collection &amp; Copy - 上下左右中央の件、改善、補足

    Collection & Copy - 上下左右の中央にボックスを配置する id:inception9さんから、より簡単な方法をコメントで教えて頂きました!ありがとうございます。 これだ!これが正解だから、前回のが「バッドノウハウ(?)」なんですね。余分な空間用divもなくなり、ほんますっきりやわぁ。 ただ、どうも前回の元記事は「画面をコンテンツのボックスより小さくしても、ボックスの左上が欠けない」というところがポイントだったようです。たしかにウィンドウサイズを小さくすると、左上隅にボックスがきっちり収まります。ここにこだわらない場合は、短縮版がよさそうですね。 HTMLCSS、共に勉強不足ですので、直接指摘頂けるのは大変助かります。コメントを書く時間を頂けたことを、感謝しております。ではでは。 雑記軽い気持ちでHTML/CSSのことを書くと、なぜか反響が大きく、戸惑う。なんとなくプロ

    wacky
    wacky 2006/05/21
    CSSで上下左右の中央にボックスを配置する方法(正統版)。
  • Collection & Copy - 上下左右の中央にボックスを配置する

    (via Subtech Watchlist - typester) Collection & Copy - 上下左右中央の件、改善、補足コメント頂き、改善、補足を書きました。 CSS vertical center using float and clear 上記、CSSで上下左右の中央にボックスを配置するページを読みました。要約すると以下のHTMLになるようです(必要なものも削っちゃったかも)。ポイントとなるスタイルシート設定にコメントを入れました。 CSS、きっと分かってる人には、あったりまえなんだろうなぁ。「float:left」と「clear:left」がペアで対応してるんですね。あと、marginのautoはIEで、うまく動かないのか。余白用のブロック(distance)は、まず画面の縦半分の長さで空間を確保し、文のブロックの半分のサイズだけマージンを減らして、ちょうどよい

    wacky
    wacky 2006/05/20
    CSSで上下左右の中央にボックスを配置する方法(バッドノウハウ版)。『画面をコンテンツのボックスより小さくしてもボックスの左上が欠けない』のがポイント。 (→ 修正版: http://d.hatena.ne.jp/brazil/20060521/1148219091
  • Collection & Copy - JavaScriptにおけるプライベートメンバ

    JavaScriptにおけるプライベートメンバ 翻訳 原文:Private Members in JavaScript Copyright 2001 Douglas Crockford. All Rights Reserved Wrrrldwide. JavaScriptJavaScript: 世界で最も誤解されたプログラミング言語です。JavaScriptのオブジェクトが、プライベートなインスタンス変数およびインスタンスメソッドを持てないため情報を隠蔽する能力が欠けていると思われることがあります。しかし、これは誤解です。JavaScriptのオブジェクトは、プライベートメンバを持つことができます。その方法は以下です。 オブジェクト JavaScriptはオブジェクトを基礎としています。配列はオブジェクトです。関数もオブジェクトです。オブジェクトもオブジェクトです。それならば、オブジェク

    wacky
    wacky 2006/03/13
    JavaScriptでのプライベートメンバの扱いについて解説。Privilegedメンバ(特権メンバ)についても。(http://www.crockford.com/javascript/private.html の和訳)
  • Collection &amp; Copy - HTMLを生成する

    JavaScript毎日、調べ物をして、コードを書いて、ルービックキューブやってます。サーバー側とクライアント側のHTML部分、またですが、コンセプトコードを書いてみました。HTMLを、こんな感じ、html(body({bgcolor:'gray'}))、に書きます。関数が要素、オブジェクトが属性、配列でこれらのまとまりも表せる、というMochiKit類似のラインで考えています。 ファイルの上半分はこんな感じです。HtmlBuilder.tagに、h4やbrなどのHTML生成関数をくっつけてます。 使うコードはこんな感じです。isと、okはテスト関数です。 withを使って、沢山あるHTML関数を、グローバルに落とさないようにしてます(遅くなるかな...?)。update(this, HtmlBuilder.tag)で、状況によってはグローバルに下ろしちゃうと速くなると思います。 Moch

    wacky
    wacky 2006/02/17
    クライアント/サーバのどちらでも動作するJavaScript製のHTMLテンプレートエンジンの構想。コンセプトコードの提示や関連リンクなど。
  • 関数、オブジェクト、クロージャ - FAX

    (thanks to id:koyachi、del.icio.us/rtk2106) OOPとFPと。関数、オブジェクト、クロージャの使い分けについて考えます。 関数型が良いのか、オブジェクト指向が良いのか、知りたいと思っていました。色々なページを読み、現時点で一応の答えを得ました。 カウンタを例にして、関数、スコープ、オブジェクト、クロージャの順に見て行きます。関数関数は処理です。入力と出力があります。関数型プログラミングでは、関数同士の入力と出力を連結しプログラムが構成されます。 var current = 0; function next(v){ return v + 1 } function previous(v){ return v - 1 } ok( 1 == ( current = next(current) ) ); ok( 2 == ( current = next(cu

    wacky
    wacky 2006/02/01
    JavaScriptでの関数型プログラミングとオブジェクト指向プログラミングについて。関数、オブジェクト、クロージャのそれぞれの特徴、メリットとデメリット。スコープとの関係。
  • 配列の先頭の要素を取得する - FAX

    配列の先頭の要素を取得する 練習 var a = []; a[15] = 150; a[20] = 200; ok( void(0) === a[0]); ok( void(0) === a.slice(0,1)[0] ); ok( void(0) === a.shift() ); ok( car(a) == 150 ); function car(a){ for(var i in a) return a[i]; } Permalink | コメント(0) | トラックバック(0) | 08:20

    wacky
    wacky 2006/01/29
    JavaScript配列の先頭の要素を取得するためのコード。必ずしも a[0] で取得できるわけではないため。
  • マガジンハウスムック / 無印良品の秘密!? - FAX

    マガジンハウスムック / 無印良品の秘密!? 抜粋 デザインしないデザイナー募集 無印良品はブランドではありません。無印良品は個性や流行を 商品にはせず、商標の人気を価格に反映させません。 無印良品は地球規模の消費の未来を見とおす視点から、 オリジナリティのある商品を生み出してきました。 それは「これがいい」「これでなくてはいけない」というような 強い嗜好性を誘う商品づくりではありません。 無印良品が目指すのは「これがいい」ではなく「これでいい」という 理性的な満足感をお客様に持っていただくこと。 このような無印良品の思想に共感していただける 「デザインしないデザイナー」を募集します。 ―無印良品の秘密!? (Magazine House mook) amadanaは、これに反対している。 「これでいい」ではない、「これでなくては」という愛着の対象。 10年、15年、ながいこと愛でていける

    wacky
    wacky 2006/01/24
    無印良品の商品作りに対する考え方。『無印良品が目指すのは「これがいい」ではなく「これでいい」という理性的な満足感をお客様に持っていただくこと』
  • X Library(クロスブラウザJavaScriptライブラリ)メソッド一覧 - FAX

    X Library(クロスブラウザJavaScriptライブラリ)メソッド一覧 翻訳 (via Trivial Tracks: Javascriptのクロスブラウザライブラリ) 原文: XV: X Library Viewer xaddeventlistener xAddEventListener(ele, sEventType, fnEventListener[, bCapture]) エレメントにイベントリスナを登録する。いくつかのブラウザのために、window.onscrollとwindow.onresizeイベントをシミュレートする。 xappendchild xAppendChild(oParent, oChild) 安全なDOMラッパー。 xbackground xBackground(ele[, sColor[, sImage) エレメントの背景色とイメージを取得する。オプシ

    wacky
    wacky 2006/01/12
    クロスブラウザなJavaScriptライブラリ「X Library」のメソッド一覧を和訳。これは助かる。