タグ

javascriptとJavaScriptに関するnitoyonのブックマーク (602)

  • GData JavaScript のクロスドメイン通信の解析 - snippets from shinichitomita’s journal

    以前の続き。JavaScriptからプライベートデータの参照、更新が出来る。Google Account Authenticationの仕組みを利用している。この前動かなかったサンプルはいつの間にか動くようになってた。 最初プロトコルは勝手にJSONPと思ってたけど、中身見てみたらIFRAME 使った fragment identifier (window.location.hashの値、URLの#以降)による通信だった。たしかに、IEで音をONにしたらクリック音カチカチする。ちなみにfragment identifierによるクロスドメイン通信は他にdojoがライブラリとして実装しているのは知っているけど、これだけ大々的にサービスで使われてるのを見たのは初めて。もっとも、ブラウザでクロスドメイン通信を達成する方法のうち現時点でもっともマシなのはこれじゃないかという意見もある。 解析してみ

    GData JavaScript のクロスドメイン通信の解析 - snippets from shinichitomita’s journal
    nitoyon
    nitoyon 2007/10/08
    Google Account Authenticationの仕組み。iframe×2+location hash。
  • swfobject - SWFObject is an easy-to-use and standards-friendly method to embed Flash content, which utilizes one small JavaScript file - Google Project Hosting

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    swfobject - SWFObject is an easy-to-use and standards-friendly method to embed Flash content, which utilizes one small JavaScript file - Google Project Hosting
    nitoyon
    nitoyon 2007/10/04
    swfobject 2.0
  • Firefox、プロトタイプを空にする、オブジェクトをハッシュとして使う時の注意 - FAX

    JavaScriptFirefox、__proto__で、プロトタイプオブジェクトを取れる。 function Cat(){} var p = {}; Cat.prototype = p; var c = new Cat(); ok(c.__proto__ == p); // 同じオブジェクト クラスのプロトタイプをnullにしても、実際に生成されるインスタンスのプロトタイプはnullにならない。 function Cat(){} Cat.prototype = null; var c = new Cat(); ok(c.__proto__ != null); // nullじゃなくなって、通常のオブジェクトのようなものが入ってる ok(c.watch != null); // watchなどの基メソッドもある 直接、インスタンスのプロトタイプをnullにすることはできる。 var

    nitoyon
    nitoyon 2007/10/01
    インスタンスを生成してから、__proto__ を null にして実現。それ以外の方法では完全なハッシュにはならない。
  • ハタさんのブログ : Javascriptによる大規模開発の覚え書き。高速化編

    前回書いた「Javascriptによる大規模開発の覚え書き」が凄いことになってました。 今回は、省略した「5.高速化せよ」について書きます。 僕にとってjavascriptは非常に高速な言語です。それは何が高速か 開発速度が高速である 開発速度、及びそこに至るまでの修得速度はとても高速です。動的言語を上手く操る開発者はもちろん、開発に不慣れな(言葉が悪いけど)新人達でさえ「動く」モノをサクっと作ってしまえる。 また、プラットフォーム(? というかブラウザ)が広く普及しているので、ググればスグに問題解決もできる。 それにローカルで簡単に作れる。javascript、それは動作環境を含めて高速です。 高速にUI操作ができる(UI操作が非常に簡単である) swingとかでUI操作をするには多くのオブジェクト操作をしなければならないけど、javascript(もといDHTML)は非常に簡単に

    nitoyon
    nitoyon 2007/10/01
    JS高速化、設計思想。設定やメッセージ表示を共通化、分岐を初期化時に集約、JsDocにサンプルコード。
  • swffit - Smart Flash Resize Script - 100% Width and 100% Height

    swffit (formerly know as FitFlash) is a smart script that resizes your flash movie automatically if your browser window size is smaller or greater than your flash minimum desired size keeping it accessible independent of screen resolution. IMPORTANT: This project isn't being activelly maintained anymore and needs contributors, use it with care and make sure you read these notes and check the issue

    nitoyon
    nitoyon 2007/10/01
    全画面にSWF埋め込むJSライブラリ。swfobject などと併用を想定。
  • レイヤーを使用したFull Flash

    最近PopUpに変わって需要の出てきたレイヤー。写真を載せるのはよくありますが、そのFlash版を誰でも簡単に使用できるスクリプトを組んでみました。 最近写真をレイヤーで見せるのが流行ってますよね。(POPUPブロックの影響によるPOPUP代わりみたいなものでしょうが。) そういうものはJavaScriptが結構公開されているのですが、FLASHはないですよね。(使用したもの自体、見ることもまだあまりないですね。) そういうわけで組んでみました。 まずは下記URLをご覧ください。 http://www.muraken.biz/overlay/overlayflash.html(”ここをクリック"のところをクリックしてみると、実行されます。) 今回、これを簡単に作れるスクリプトを組みました。 JavaScriptに関しては文末にてソースを置いておきますが、説明するとかなり長くなるので割愛いた

    レイヤーを使用したFull Flash
    nitoyon
    nitoyon 2007/09/26
    ページにFlashを重ねる例。アルファもOK。
  • iGoogle で JavaScript 開発!「JavaScript Console ガジェット」 - WebOS Goodies

    最近ガジェットの種類も増えて、ますます便利になってきた iGoogle 。実は JavaScript 開発にもけっこう使えます。 Google Gadget Editor と適当なリファレンス検索系のガジェットなどを組み合わせれば、ちょっとした JavaScript 統合開発環境に早変わり。 iGoogle ガジェットなら任意サーバーへの GET リクエストなども可能で、ちょっとした実験に最適です。 そんな便利な Google Gadget Editor ですが、欠点もあります。簡単な JavaScript を実行するだけでも iGoogle ガジェットを作らなければいけませんし、なんといっても Opera で動きません(´Д`; というわけで、ブラウザに依存せず、 iGoogle ガジェット以外の開発にも便利な JavaScript Console ガジェットを作ってみました。すぐ下に貼

    nitoyon
    nitoyon 2007/09/26
    JSコンソール。SharedObjectに保存可能。
  • JSTweener - JavaScript でモーショントゥイーンするライブラリ - 2nd life (移転しました)

    http://coderepos.org/share/wiki/JSTweener http://svn.coderepos.org/share/lang/javascript/jstweener/trunk/examples/ JS でモーショントィーンするのに、JSTween というライブラリがあるのですが、一つ一つのモーションで setTimeout(func, 0) で回しててるため増えれば増えるほど重くなったり、style 設定が結構面倒だったり、一度に複数プロパティ登録ができなかったりしたので、自分でライブラリを作ってみました。ひっつき☆スターを JSTweener で動かしたら体感で全然速くなりました。 コード例ですが、ひっつきスターでのトゥイーン処理は JSTweener.addTween(el.style, { time: tm, transitions: 'easeOu

    JSTweener - JavaScript でモーショントゥイーンするライブラリ - 2nd life (移転しました)
    nitoyon
    nitoyon 2007/09/23
    JavaScript で Tweener 風アニメーション+高速化。CSSプロパティを書き換え or 関数呼び出し。
  • bodyにいると思ったらheadにいた - ヒルズで働く@robarioの技ログ

    <p id="hoge"></p> <script>document.write(document.getElementById('hoge'))</script> こういうの。 結果 # IE6 null # Firefox2 null 自分的には、pタグが出現した時点でそれ以降がbody要素になると思っていたのですが、そうではなくDOM Treeを見たところ以下のように解釈されているようです。 <head> <script>document.write(document.getElementById('hoge'))</script> </head> <body> <p id="hoge"></p> </body> えー?そうなん? 順番変わってるやん。 もちろんbody要素を明示すると、 <body> <p id="hoge"></p> <script>document.write(

    bodyにいると思ったらheadにいた - ヒルズで働く@robarioの技ログ
    nitoyon
    nitoyon 2007/09/19
    <body>,<head>を書かずに<script>を使うと、<script>が<head>の中にあるものとして解釈される。
  • IT戦記 - JavaScript の this について

    WEB+DB PRESS 編集の R たんから、僕の連載記事に読者様から質問が来ていると教えていただいたので、その内容を教えていただきました。 以下、内容を転載 「JavaScriptわくわく開発道」の記事に関して質問です。 今回の内容で特に興味を持ったのはthisキーワードの振る舞いでした。 thisキーワードの説明には、オブジェクト型の変数を別の変数にコピーしてから初期化すると、コピーした変数からメソッドを実行できなくなるという例が紹介されていました。 そこには「(1)の時点でobj0には{}が入っているため、hogeは未定義となってしまう」という説明があるのですが、誌面の都合上省略があるためか、thisキーワードを用いることで問題を回避できるという理由がなかなか理解できないでいます。 自分なりに考えてみたところ、内部的には以下のようなことが起きているのではないかと思いました。 (1)

    IT戦記 - JavaScript の this について
    nitoyon
    nitoyon 2007/09/18
    読者からの質問にブログで回答。
  • Shibuya.JS の資料「The next genaration of browsers」公開 - IT戦記

    Shibuya.JS の資料を公開します。 発表は時間がなくて飛ばし飛ばしになってしまいましてすみませんでした>< リンク 発表の資料 http://amachang.art-code.org/shibuyajs24/ ちなみに、資料のブラウザアイコンで黄色で囲ってあるやつは新しく実装されたという意味です。 発表の動画 at Google Video http://video.google.com/videoplay?docid=-7565816545804603660

    Shibuya.JS の資料「The next genaration of browsers」公開 - IT戦記
    nitoyon
    nitoyon 2007/09/18
    次のブラウザの仕様。IE独自実装やJSライブラリが標準化されつつある。contentEditable、getComputedStyle、getClientRects、getBoundingClientRect、elementFromPoint、XPath、getElementsByClassName、insertAdjacentElement、showModalDialogなど。
  • Shibuya.js 24 Lightning Talks #2

    The *real* usage of Photoshop

    Shibuya.js 24 Lightning Talks #2
    nitoyon
    nitoyon 2007/09/17
    JS から CS3 を使う。 choさん。
  • 出張Shibuya.js 24の発表資料 (mitsunari@cybozu labs)

    (いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

    nitoyon
    nitoyon 2007/09/16
    JavaScript 高速化ネタ。関数を実行前にtoString()して書き換えてevalする技。
  • Software Error

    Software Error:No such file or directory: /home/persistent/j/js/jsthread/wiki-data/log at lib/CGI2.pm line 33.

    nitoyon
    nitoyon 2007/09/15
    細かい関数にぶったぎる変換機をかまして、マルチスレッドもどきを実現する。
  • JavaScript で構文解析: Days on the Moon

    C++ の特徴のひとつである演算子オーバーロード、その粋を極めたのが Boost Lambda (無名関数) と Boost Spirit (構文解析) ではないかと思っています。JavaScript では無名関数が使えるので Lambda に関しては間に合っているとも言えますが、Spirit はそうも行きません。JavaScript 2 で演算子オーバーロードがサポートされるのならチャレンジしてみようかななどと思ってそれきりになっていました。 しかし、一部でパーサブームが起こっているというのを受け、Perl 6 Rules をつらつらと眺めているうち、正規表現のメタ文字を使えば文法定義をきれいに書けるのではと思い至りました。そこで実際に JavaScript でパーサジェネレータを作り、Spirit にあやかって Gin (ジン) と名づけてみました。 文法定義 正規表現リテラルを使うこ

    nitoyon
    nitoyon 2007/09/13
    パーサーネタはあとで読む…はず。
  • Styling File Inputs with CSS and the DOM // ShaunInman.com

    The Last Rocket An 8-bit game for iPhone, iPad and iPod touch Minted of course. In partnership with File inputs (<input type="file" />) are the bane of beautiful form design. No rendering engine provides the granular control over their presentation designers desire. This simple, three-part progressive enhancement provides the markup, CSS, and JavaScript to address the long-standing irritation. Bef

    nitoyon
    nitoyon 2007/09/13
    input=file を透明にしておいて、JS でマウスオーバー時に参照ボタンがマウスの上にくるようにしている。アクロバットすぎ。 via phpspot
  • JavaScript のワンライナーでカラーコード - IT戦記

    RGB 値が分かってて #XXXXXX を計算するのめんどいなーと思って Firebug でやってみた。 '#' + [76, 84, 105].map(function(i){ return (i >> 4 ? '' : 0) + i.toString(16) }).join('') このくらいならワンライナーで書けて便利ー^^ 追記: 弾さんからトラックバックもらって見てみたけど弾さんはちょっとミスってたので再トラバします。 (function(r,g,b){return '#' + (r < 16 ? 0:'') + (r*65536+g*256+b).toString(16)})(15, 127, 255) http://blog.livedoor.jp/dankogai/archives/50911084.html これだと (function(r,g,b){return '#'

    JavaScript のワンライナーでカラーコード - IT戦記
    nitoyon
    nitoyon 2007/09/12
    ビット演算を使って0を埋めるテクニック。
  • monoroot.com - このウェブサイトは販売用です! - monoroot リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

    monoroot.com - このウェブサイトは販売用です! - monoroot リソースおよび情報
    nitoyon
    nitoyon 2007/09/11
    ページ内リンク、lightbox.js を使った縦長サイト。適度な凝りようが気持ちいい。
  • FirefoxのsetTimeoutの実装 - bits and bytes

    Firefoxのソースコードを追っているうちに、たまたま1年遅れで IT戦記 - JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念 の裏側がどうなっているかがわかったので、その話を。 タイマーの管理方法 そもそもjavascriptからsetTimeoutを呼ぶと、どういう仕組みで指定した時間後に渡した関数が呼び出されるようになっているのでしょう。Linuxであればsleepのように一定時間後にawakeするという処理は、タイマーリストによって管理されています。カーネルの中にN jiffies(LinuxのOS内時間の単位はjiffyと呼ぶそうです)経過後に実行することリストがあって、カーネルが4msごとに毎回タイマーリストをチェックしてやることがあったときにはそれを実行しています。 FirefoxもLinuxと同じようにタイマーリストみたいな

    nitoyon
    nitoyon 2007/09/07
    setTimeout の実装。だいたい想像通り。
  • JavaScript で XPath の構文木を考えてみる。 - IT戦記

    またまた パーサーブームの続編です。 昨日は数式のパーサーを作って、帰り道にいろいろ考えたんですけど、普通の言語で考えると構文木って結構複雑になるんじゃないかなあって思いました。 で、横断歩道で明日 XPath の構文木を考えてみようと思ったわけです。 では、仕様と見比べながら XPath の構文木の構造を考えてみましょう。 仕様読むの大嫌いなんですけど、がんばります。 仕様のリンク xpath cover page - W3C まず、冒頭に The primary syntactic construct in XPath is the expression. An expression matches the production Expr. http://www.w3.org/TR/xpath#section-Introduction とあるので、 XPath 全体は Expr である

    JavaScript で XPath の構文木を考えてみる。 - IT戦記
    nitoyon
    nitoyon 2007/08/30
    自分もこの辺がわかってないので、苦労しながら作っていく様子を公開してくれるのは非常にありがたい。追いつけてないけど・・・。 /「仕様読むの大嫌いなんですけど」に親近感。