2011-05-01から1ヶ月間の記事一覧

ECMAScript 5 の Strict Mode でグローバルオブジェクトを得る

Strict Mode ECMAScript 5 には Strict Mode という仕組みがあり、Strict Mode では様々な機能(誤解の元となる機能、危険な機能)が制限されています。Strcit Mode になると関数コード内で this === undefined となり、this でグローバルオブジェクトを参照で…

CSS の簡略記述特性は指定しなかった特性を初期値で上書きする

CSS

簡略記述特性とは 複数の特性を一度に指定できるプロパティの性質を「簡易記述特性」と呼びます。 body { font: normal normal normal medium normal serif; /* font-style, font-variant, font-weight, font-size, line-height, font-family */ } p { borde…

CSSStyleDeclaration#setProperty と CSSStyleDeclaration#removeProperty

概要 IE8 で未定義の CSSStyleDeclaration#setProperty, CSSStyleDeclaration#removeProperty を IE8 で使えるようにしてみようという試みです。 /** * インラインスタイルを定義する */ element.style.backgroundColor = '#fee'; // CSSOM 規定 element.sty…

IE8- は名前付き関数式を関数宣言としても扱う

ECMAScript の 名前付き関数式 ECMAScript には「名前付き関数式」があり、変数に関数式を代入するときに名前をつけることが出来ます。 var hoge = function foo () { alert(foo); // function foo() { ... } alert(foo === hoge); // true }; ここでは "foo…

Google 検索結果をハイライトする Proxomitron フィルタ「Google: High Light by js」

概要 Google検索結果で検索語を最大7つまでハイライトします。(要 JavaScript) 仕様 JavaScript を利用しているため、ブラウザの JavaScript を有効にしてください。 インスタント検索にも対応するため、HTML5 規定の hashchange イベントを利用しています。…

window.setInterval は無限ループしたり実行順を保証できない場合がある

window.setInterval の問題点 window.setInterval には window.setTimeout にない2つの問題点があります。 致命的なエラーが発生してもタスクを繰り返し実行する。 2秒かかるタスクを1秒おきに予約すると、現在のタスクが終わる前に次のタスクが始まる。 エ…

Google で Proxomitron が機能しないのを回避するフィルタ

フィルタ [HTTP headers] In = FALSE Out = TRUE Key = "Accept-Encoding: kill sdch (out) [2011/05/14]" Match = "(\#,|)sdch(,\#|)" Replace = "\@" 原因 Google Chrome は「Shared Dictionary Compression over HTTP (SDCH)」という独自の圧縮プロトコル…

ActiveXObjectとスクリプトエンジン間の循環参照によるメモリリーク

IE6 SP2- の ActiveXObject 周りのメモリリーク問題はあまり知られていないような気がしたので、簡単にまとめておきます。 jQuery や prototype.js では以下の方法で回避しています。 /** * メモリリークを回避する方法 (jQuery および prototype.js 方式) *…

XPath の transelate() を JavaScript で実装する

概要 XPath の translate() を JavaScript で実装しました。 XPath の仕様通りに実装した translate.js と機能拡張した translate-by-array.js があります。 translate.js XPath の仕様通り、String型の値を引数にとります。1文字単位での置換しか行えません…

全角/半角文字を変換する

think49 think49「半角文字 <-> 全角文字」の文字マップを生成してみた。https://ideone.com/sttNv #ECMAScript #JavaScript5月10日 11:46 PM think49 think49to-zenkaku.js : 半角文字を全角文字に変換する - Gist https://gist.github.com/964592 #ECMAScr…