2011-07-24から1日間の記事一覧

ECMAScript 5 規定の undefined は書き換え不可能

概要 次のようなコードをよく見ます。 undefined = 1; // 1 (function () { var undefined; // 同名のローカル変数を定義 alert(undefined); // undefined })(); ところが、ECMAScript 5.1 規定の undefined は書き換え不可能([[Writable]]: false)です。 15…

DOM Events の「バブルアップ」の語源は MDN

バブルアップの語源 DOM L2 Events には親要素にイベントが伝播していくイベントバブル動作(Event bubbling)があり、これを「バブルアップ」と解説されているサイトをたまに見ますが、語源はMDNにあったようです。 (英語版には "bubble up" とあり、翻訳によ…

Google Chrome のページ翻訳機能は [日本語のページ] を英語と判定する事がある

概要 Google Chrome 12 日本語版は仕様書リンク のページを [英語のページ] と判定して日本語に翻訳しようとする。 再現ソース HTMLソース。 <html lang="ja"> <head> <meta charset="UTF-8" /> <title>仕様書リンク</title> .htaccess Header set Content-Language jaHTTPレスポンスヘッダ。 Content-Language: ja 考察(</meta></head></html>…

IE8- の Node#cloneNode はイベントまでコピーする

DOM2 規定の cloneNode() DOM Level 2 Core で規定されている Node#cloneNode は「すべての属性と値をコピーします」が、参照は新しく形成されます。 つまり、<p onclick="alert('click');"> のようにHTMLに埋め込んであるイベントはコピーしますが、addEventListener 等で形成されたイベ</p>…