タグ

javascriptに関するyuguiのブックマーク (284)

  • jQueryから学んだ名前空間を節約する方法 - 考え得る最高を常に行う

    実装側では非常に苦労しますが、使い勝手は抜群。わざわざnew演算子を使ってインスタンス生成をしなくても関数の戻り値としてオブジェクトを使うテクニックです。 例を使って説明します。以下はDOMの操作で要素を削除する方法です。 普通の方法 var elem = document.getElementById('navi'); elem.parentNode.removeChild(elem); DOMのAPIでは直接要素を削除できません。いったんparentNodeをたどり、removeChildでDOMツリーから削除します。 普通のクラス化 var Elem = function(id){ this.elem=document.getElementById(id); }; Elem.prototype.remove = function(){ this.elem.parentNode.rem

    jQueryから学んだ名前空間を節約する方法 - 考え得る最高を常に行う
  • 実用 - ウィンドウの外で発生するmouseupイベントを取得する、Firefox

    JavaScript save the assistants 上記のスライダー、ドラッグを開始して、ウィンドウ外でボタンを離し、再度ウィンドウに戻るとずっと押しっぱなしのおかしな状態になる。これは、たぶんマウスが離されたことを検知できていないため。 WebFXのスライダーは、ちゃんと動く。実装を読んでみた。 Slidebar (WebFX) Firefoxは、文字を選択するようにドラッグを開始すれば、ウィンドウ外でマウスのボタンを外した時にもmouseupが起こせるようだ。これを利用し、見えない文字を選択し、選択状態も見えなくして、スライダーが正常に動作するようにしていた。 簡単なサンプルは以下。スライダに限らず、ドラッグ全般に使えると思う。mouseup以外に、mousemoveなども取れた。 IEの場合は、onlosecaptureイベントを使っていた。WebFX++

    yugui
    yugui 2007/08/28
    へー
  • Ext JS - JavaScript Library

    The Most Complete JS GridUI ComponentsJavaScript Framework  in the World Build robust, high-performance applications with Ext JS and React.

    Ext JS - JavaScript Library
    yugui
    yugui 2007/07/19
    たしかにそろそろ使いどきかな。
  • JavaScript → ActionScript なオブジェクトブリッジを作ってみた:TKMR.blog.show

    最近、絶賛ActionScript勉強中なのですが、どうもたまにJavaScriptを叩きたいときがある。というかActionScriptからJavaScriptのオブジェクトを触れると色々便利そうなので、オブジェクトブリッジ的な物を作ってみた。ネタ元は ActionScript → JavaScript オブジェクトブリッジを作ってみた : IT戦記 これ。AS→JSがあるなら、JS→ASも必要だろうということで逆方向を作ってみた。 動作 こんな感じでJavaScriptのオブジェクトをActionScriptから触れる。alert("Hoge")なんかのグローバル関数は window.alert("Hoge") でOK。 以下ActionScriptで var window:AS2JS = AS2JS.register("window"); window.alert("Alert fr

  • Rhino on Rails

    Steve Yegge / 青木靖 訳 2007年6月26日 なんて日だろう。John Lamに取り上げられると、Slashdotに取り上げられるよりひどいことになるらしい。私のチームのみんなは一日中私のことを笑っていた。どうしてこんなことになったのか見当も付かない。 雪崩のようなメールにいちいち返答するより、一括アップデートしてしまう方が良さそうだ。 しかしその前にだ、いったい今の私くらい当惑している人間が他にいるだろうか? Foo Campで行われた数々の目を見張るような議論の中で、私が即興でしたちょっとした講演——それにはどういうわけか20分前にテントからはい出 してきたばかりみたいな私の写真が添えられていて、二日酔いで道に迷い、どうして自分がセバストポルの真ん中の原っぱにいるのかも分らない様子で写っており、分ったのは どうも前の夜に朝10時の講演を引き受けたらしいということだけとい

    yugui
    yugui 2007/07/07
    "それからメタプログラミングでちょっと余計なところが見受けられる"; ちょっとか? ほんとにちょっとか? それはともかく乙。OSS化に期待。
  • OOP javascript indentation - This indentation script for OOP javascript (especially for EXTJS) : vim online

    This indentation script for javascript example of public method of class var testing = function(){ return { showDialog:new dialog([ { 1:'testing', 2:'coba', 3:'jajal' } ]); } } Comments are welcome! ryanthe@gmail.com

  • Steve Yegge、RailsをJavaScriptに移植する

    John Lam / 青木靖 訳 2007年6月24日 Foo Campで私が最初に行ったのは、「GoogleRailsクローン」と題するSteve Yeggeの講演だった。このタイトルを見てどうして聞かずにいられようか? Googleはプログラミング言語として、C++JavaPythonJavaScriptの4つを使っている。WebのフロントエンドJavaで書きたがる人がそういるとは思えないが、それはWebフロントエンド用のJavaコードをたくさん持っているGoogleにしても 同じだ。 Googleにおける開発者の生産性を引き上げるため、Steveは会社にRails(したがってRuby)を言語として採用するように訴えたが、それが叶わないとなると(Googleはインフラでサポートしなければならない言語の数を増やすのをとても嫌っている)、 彼は欲求不満のプログラマがみんなするだろ

  • Asual » SWFAddress

    SWFAddress is a small but powerful library that provides deep linking for Flash and Ajax. It's a developer tool, allowing creation of unique virtual URLs that can point to a website section or an application state. SWFAddress enables a number of important capabilities which are missing in today's rich web technologies including: Bookmarking in a browser or social website Sending links via email or

    yugui
    yugui 2007/06/21
    HashによるトリックのSWFObject版。
  • ExplorerCanvas

    Modern browsers like Firefox, Safari, Chrome and Opera support the HTML5 canvas tag to allow 2D command-based drawing. ExplorerCanvas brings the same functionality to Internet Explorer. To use, web developers only need to include a single script tag in their existing web pages. Overview Sample pages using the canvas tag are included with the source code. For more information about the canvas tag,

    yugui
    yugui 2007/06/06
    IE用Canvas
  • 次期、散財.com の JS 管理は dojo toolkit - IT戦記

    散財.com 開発ログ(自分用メモ) 最近の JavaScript 開発の悩み 無駄な処理をはさむと、処理が遅くなる。orz 細かくファイルを分けて、必要なものだけインクルードするようにする。orz ファイル数が非常に多くなる。orz ファイルの依存関係を脳内解決。orz ファイル数が多いので、リロード時の描画が遅い。orz 依存関係が脳内フラッシュして、カオスへ突入。orz バグが出た部分を直すと他のページへの影響が不明。orz 例えば、はてなの「この」編集ページ。 <script type="text/javascript" src="/js/prototype-1.4.0.js"></script> <script type="text/javascript" src="/js/cookie.js"></script> <script type="text/javascript" s

    次期、散財.com の JS 管理は dojo toolkit - IT戦記
  • ブラウザ上でお絵かき: Days on the Moon

    「Ajax を使った手書き文字認識」を見て。ここでは線を描くのに絶対配置の span 要素を大量生成しているけど、最近のブラウザってベクター描画エンジン付きのものが多いわけで。WinIE 5 以降の VML 、Opera 8 ・ Firefox 1.5 以降の SVG 、Safari 1.3 ・ Firefox 1.5 以降の canvas 要素といった具合に。 ということで各ブラウザでベクター描画エンジンが使えればそれを使い、なければ絶対配置の HTML 要素を大量生成することで、ブラウザ上でお絵かきできるというものを作ってみた。元に戻す / やり直すこともできる。線を描くだけで塗りつぶしはできないが。 その線を描くために作ったのが DrawingCanvas クラス。以下のようにすることで三角形が描ける。実際の描画部分には SVG Tiny 、HTML Canvas 、CSS Posi

  • MOONGIFT: » クロスブラウザ対応のJavaScriptデバッグツール「Jash」:オープンソースを毎日紹介

    JavaScriptを多用するようになると、どうしても高機能なデバッグツールが欲しくなる。Firefoxであれば、FireBugが一番有名なデバッグツールだろう。FireBugを使うと非常にデバッグが容易になる。 とはいえ、FirefoxはFirefox専用だ。IEではいかにしたら良いだろうか。クロスブラウザで使えるツールがこれだ。 今回紹介するオープンソース・ソフトウェアはJash、クロスブラウザ対応のJavaScript Shellだ。 JashはJavaScriptファイルで提供される。公式サイトではBookmarkletとしても提供されているので、ブックマークに登録しておくと便利だ。 起動すると、ブラウザ上にターミナル風なウィンドウが表示される。この状態で、JavaScriptのデバッグが可能だ。任意のJavaScriptを実行することができるので、操作を試すこともできる。 また、

    MOONGIFT: » クロスブラウザ対応のJavaScriptデバッグツール「Jash」:オープンソースを毎日紹介
  • テストとか - JS Commander

    コンソール上から JavaScript で Web ブラウザを操作できる、JS Commander というプログラムを作ってみました。JS Commander を立ち上げるとプロキシサーバが同時に起動し、このプロキシサーバを使うように Web ブラウザを設定すると、コンソール上で JavaScript のコードが入力できるようになります。Web ブラウザ上の JavaScript を自由に実行できるコンソールには FireBug, FireBug Lite, jsh, MozRepl などがありますが、JS Commander の特徴は以下のような感じです。ブラウザ非依存 - XmlHttpRequest が使えるブラウザであればたぶん動きます。readline を使った操作 - bash などのシェルと同じような emacs 風キーバインドが使えます。別のマシンにあるブラウザも操作可能

  • Amazon.co.jp: Pro JavaScript Techniques: Resig, John: 本

    Amazon.co.jp: Pro JavaScript Techniques: Resig, John: 本
  • EfficientJavaScript - Dev.Opera - 効率的な JavaScript

    EfficientJavaScript - Dev.Opera - 効率的な JavaScript 目次 この文書について 効率的な JavaScript ECMAScript eval や Function のコンストラクタを使うのはやめよう eval を書き換えよう 関数を使いたいなら function を使おう with を使うのはやめよう 性能を決める関数で try-catch-finally を使うのはやめよう eval と with は隔離しよう グローバル変数を使うのはやめよう 暗黙のオブジェクト変換に気をつけよう 性能を決める関数で for-in を使うのはやめよう 文字列は累積スタイルで使おう プリミティブの操作は関数呼び出しより速い setTimeout() や setInterval() には文字列でなく関数を渡そう DOM 再描画と再フロー 再フローの回数をでき

  • ドメインパーキング

    tatamilab.jp

  • Concurrent.Thread

    Concurrent.Thread is a JavaScript library providing user-level (virtual) thread. It does not modify any Web browsers and consists of 100% pure JavaScript. You can write multithreaded programs for your favorite browsers without any extensions.

    yugui
    yugui 2007/04/16
    "Concurrent.Thread is a JavaScript library providing user-level (virtual) thread"
  • [Rails] Ext plugin ヽ( ・∀・)ノくまくまー(2007-04-06)

    ● [Rails] Ext plugin A plugin to use Ext JS library easily on Rails. Features Easy to include ext files Pagination Scaffold Tree (Not implemented yet) and so on (Not implemented yet) SVN http://wota.jp/svn/rails/plugins/branches/stable/ext/ ● Install 1) install this plugin Use "svn co" or "svn export" for installing method, because "plugin install" has a bug that fails to fetch all files named 'ht

  • 「勝手に添削 - JavaScript 入門」を勝手に添削 - IT戦記

    このエントリーは以下のエントリーへの解答です 404 Blog Not Found:javascript - 勝手に添削 - JavaScript入門 はじめに 僕はあまりブログを一生懸命書くのは嫌いです。で、いつも適当に言葉は少なめにソースだけで解説しているが。今回は、それだけでは伝わらないところまで突っ込まれてしまったので、僕が伝えたかった意図をこと細かく説明していこうと思います。 文章が苦手なので、変な言い回しで読み辛かったりすると思いますがよろしくお願いします。 一応、弾さんには断っておきますが、別に弾さんに噛みついている訳ではないです。ただ、弾さんのような有名人に突っ込まれたら、僕の講義を聞いてくれたエンジニアが嘘を教えられたと不安になってしまうのではないかと思ったのです。僕の講義を聞きにくれた人には、虚像でもいいから 100 % の自信と勇気を付けて欲しい(プログラムを書く上で

    「勝手に添削 - JavaScript 入門」を勝手に添削 - IT戦記
    yugui
    yugui 2007/04/13
    カコイイ
  • DOM Events とブラウザの実装: Days on the Moon

    ブラウザ上でのイベント処理の仕組みは DOM 2 Events および DOM 3 Events 草案にて規定されています。しかし、DOM 2 Events で言及されていない部分など、細かい動作はブラウザごとに異なっていることもあります。そうした仕様と実装の差異を、「作って納得! DOM 2 Events」で触れなかったものも含めて、いくつかまとめてみました。 ターゲットフェーズで呼び出されるリスナ DOM 2 Events のイベントモデルにおいて、あるノードでイベントが発生すると、そのノードの祖先ノードのイベントリスナが呼び出されるキャプチャリングフェーズ、そのノード自身のイベントリスナが呼び出されるターゲットフェーズ、再び祖先ノードのイベントリスナが呼び出されるバブリングフェーズと、3 段階にわたってイベントが伝播していきます。このうちターゲットフェーズでは、addEventLis