IT戦記

プログラミング、起業などについて書いているプログラマーのブログです😚

JavaScript

Firefox の ECMAScript 3.1 の実装に関する Bugzilla のスレ

(見つけたら追記) 387522 - Native JSON support 430133 - Object.definePropert(y|ies) 444787 - Object.getPrototypeOf 445178 - (decimal) Implement ES 3.1 Decimal Support

次の JavaScript の仕様はこうなる! ECMAScript 3.0 から 3.1 への変更点まとめ

はじめに JavaScript の標準仕様である ECMAScript 3rd Edition (ECMAScript 3.0) が 9 年ぶりにバージョンアップしようとしています。 実は、これまでも様々なバージョンアップの案が上がっては消え、また上がっては消えていました。 しかし、今回のバージ…

JavaScript で作るインベーダーみたいなゲームが公開されています!

とってもおもしろいです。 http://d.hatena.ne.jp/Constellation/20080816/1218841064 コードもかなりコンパクトで、いい感じです。 こういうミニゲームで、プログラミングを教えるのはいいですね。

セキュリティ&プログラミングキャンプの資料に、上級者向けの章を追加しました

はじめに けっこうレベルの高い人が混ざっていたので、いろいろと追記しました。 資料へのリンク http://svn.coderepos.org/share/docs/amachang/20080813-procamp2008/index.html 追記した内容一覧 18 よりディープな JavaScript の世界へ 18.1 関数の名前…

プログラミングキャンプの講義資料を公開します

はじめに もうすぐ講義が開始されるので、同じタイミングでここで講義資料を公開したいと思います。 JavaScript の難しいところとか、マニアックなことは一切使わずに「プログラミングの楽しさ」みたいなものを伝えられたら嬉しいです。 この資料のターゲッ…

雑感「Firebug を有効にしてると iframe 内のロードが重すぎる orz」[EOM]

フィードをオートディスカバリーする XPath

こんな感じ document.evaluate('/html/head/link[contains(concat(" ", @rel, " "), " alternate ") and (@type = "application/x.atom+xml" or @type = "application/atom+xml" or @type = "application/xml" or @type = "text/xml" or @type = "applicatio…

Pathtraq のランキングを「ながら見」出来る! Pathtraq TV というのを作りました

はじめに Pathtraq API で何かできないか考えていて、 JavaScript だけで色々できそうだったので Hatebu TV をパクって Pathtraq TV というのを作ってみました。 クリックしてみてください。 http://amachang.art-code.org/pathtraq/ 使い方は まあ、そのま…

ステップ・バイ・ステップで Pathtraq の API を使ってみよう

はじめに 「このサイトの人気ページを見たい!」 「このページに、皆いったいどうやって来てるんだろう?」 「このページを見たあとは、どこを見に行ってるんだろう?」 そんなこと思ったことありませんか? Pathtraq API を使うことで、そんな情報をあなた…

XPath を指定すると、リンクに Pathtraq のスコアを付加する関数

はじめに Pathtraq API を使ってもっといろいろできないかなあと思って、 XPath で指定したリンクに Pathtraq のスコアを付加する JavaScript の関数を作ってみました。 Greasemonkey や Bookmarklet から使うことができます。 たとえば 関数を読み込んだ状…

Shibuya.JS in Kyoto の資料を公開します。

久しぶりの Shibuya.JS めっちゃ楽しかったです! また来てください! リンク http://javascript.g.hatena.ne.jp/keyword/JavaScript%20%E6%9C%80%E6%96%B0%E5%8B%95%E5%90%91%20-%20Shibuya.JS%20in%20Kyoto%20%E8%B3%87%E6%96%99

あさっては京都で Shibuya.js だよ!

http://shibuyajs.org/articles/2008/07/01/shibuya-js-in-kyotoまだまだ、席空いてるよ!申し込みはここから!7月19日(土) の 10:15 〜のセッションを選択してね! http://www.ospn.jp/osc2008-kansai/modules/eventrsv/register2.phpid:yukoba さんが何か…

プログラミング未経験者が JavaScript でプログラミングをするために必要なこと

(執筆中) (文章の練習も兼ねてぐだぐだと執筆中、現時点で読んでも日本語になってないと思います。) (執筆途中だけど、こうしたらいい!とか、アドバイスがあれば教えてください><読者みんなが編集者!とか言ってみる) (あ、はてな記法のパッチを送…

駄文 - Selenium の中の人からメール来た><

超要約 JavaScript-XPath 続けてく気あるんかゴルァ! バグの報告はどこにすればいいんじゃゴルァ! ひー! という訳で とりあえず、コミット権が欲しかったら username と password 送ってって言ってみた。 もし、ホントに送ってきたら id:yappo さんに転送…

JavaScript 的な考え方で C++ Template に入門してみた

はじめに id:kazuhooku さんが Kazuho@Cybozu Labs: なんとなくリフレクション in C++ という記事を書いていて、なんか凄そう! わくわく! でも、読めません>< Template 怖い>< という訳で C++ Template の勉強をしてみよう! そいえば、ちょっと前に 1…

CSS のセレクタの名前の整理

はじめに 「CSS のセレクタ」っていうと以下のようなものを想像すると思うんですけど div.container ul > li じゃあ、 div はセレクタ? .container はセレクタ? div.container はセレクタ? > はセレクタ? などなど色々と疑問が出てくる訳で、どういう名…

Wordpress って Gears でホントに速くなったの??

とりあえず Wordpress のインストール Mac の初期設定を前提に話します あ、僕初めて wordpress インストールする( & PHP の経験も少ない)のでセオリーと違う可能性大です>< PHP モジュールの読み込み $ sudo vim /etc/apache2/httpd.confApache の設定…

JavaScriptCore を自分でビルドして、遊んでみる

http://d.hatena.ne.jp/amachang/20080610/1213099780 の続きです。 どうせなら JavaScriptCore も自分でビルドしようぜ!ってことで JavaScriptCore のソースを持ってくる $ svn co http://svn.webkit.org/repository/webkit/trunk/JavaScriptCore/ A JavaS…

JavaScriptCore (Safari の JavaScript エンジン) を使って C 言語から JavaScript を実行する

はじめに JavaScriptCore (WebKit/Safari の JavaScript エンジン) を C 言語に組込む方法を調べてみました。 解説はソースコード中のコメントを見てください。 まず 以下のコードを hoge.c とかいう名前で保存します。 #include <JavaScriptCore/JavaScriptCore.h> static JSValueRef jsGloba</javascriptcore/javascriptcore.h>…

諸君、私は ECMAScript が好きだ

諸君、私は ECMAScript が好きだ 諸君、私は ECMAScript が好きだ 諸君、私は ECMAScript が好きだ 諸君、私は ECMAScript が大好きだ JavaScript が好きだ ActionScript が好きだ JScript が好きだ ExtendScript が好きだ QtScript が好きだ Spidermonkey …

駄文 - これは

http://journal.mycom.co.jp/news/2008/06/03/020/index.html 新しい流れに期待してます。どうなっていくんだろう。 でも、僕のような弱小ライブラリ作者はもうダメかもしれない。

IE で一時的に要素のスタイルを変更する

いろいろためしたけど、以下が一番楽 // 変更 element.runtimeStyle.cssText = ' width: 100%; height: 100%'; // 戻す element.runtimeStyle.cssText = ''; 特に、戻すときに cssText 以外のプロパティを空にしても、おかしな挙動をするので cssText を使う…

要素固有の ID を取得する

IE では element.uniqueID というのがある。 これは、要素に固有の番号を付けたものだ。 これが結構便利で、 var seen = {}; for (var i = 0; i < elemenets.length; i ++) { if (seen[elements[i].uniqueID]) elements.splice(i, 1); else seen[elements[i]…

Web 標準的な CSS の値変換方法(px → em など)(訂正あり)

はじめに W3C の仕様に CSS の値を変換が可能なオブジェクトが定義されていることに気がついたのでメモしておきます。 まず CSSStyleDeclaration オブジェクトを取得する 例えば、 var decl = element.style; または、 var decl = getComputedStyle(element,…

IE の Ajax (XMLHTTP) で、通信が行われたかキャッシュが使われたかを判定する方法

どうやら 以下の方法で判定することができるようです。 // リクエストオブジェクトを作る var req = new ActiveXObject('Microsoft.XMLHTTP'); // フラグの準備 var sended = false; // readystatechange イベントを待つ req.onreadystatechange = function(…

IE 限定 offsetParent を実験

以下の log 関数には全部 true が渡される http://amachang.art-code.org/ierendering/014.html <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <title>IE Rendering Test</title> </head></html>

文字列から正規表現を生成するときのメモ

base2 のコードを見ていたら便利そうだったのでメモ http://code.google.com/p/base2/ 文字列から正規表現を作るとき RegExp("^hoge$"); // hoge とマッチ RegExp("^\\\\$"); // \ とマッチ RegExp("^\\[hoge\\]$"); // [hoge] とマッチ という感じで、バッ…

IE の innerHTML や appendChild で要素が挿入された瞬間を取得する方法

要素が挿入された瞬間を取得する 今までは出来ないと思っていたのですが、今日いろいろ試していて出来る方法が分かりました。 ですので、ちょっと紹介したいと思います。今のところアイデアなので、実用性は?です。 方法 HTML に以下の style 要素を挿入す…

Firebug ではじめる JavaScript

とてもいい記事だと思います。 http://gihyo.jp/dev/feature/01/firebug JavaScript を勉強したい人はどうぞ やっぱり、雑誌の記事より Web 連載のほうが価値が高いなあ

IE6 の JavaScript では href 属性の %20 と %25%32%30 の違いが分からない

これはひどい /%20 と /%25%32%30 はリンク先が違うのに、 IE6 では判断する術がない。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <a id="id0" href="a%20a">foo</a> <a id="id1" href="a%25%32%30a">foo</a> <script> var elm0 = document.getElementById('id0'); var elm1 = document.getE…</body></html>