JavaScript
window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…
Firefoxでしか確認してないけど、Array.isArrayメソッドの優位性を知ったのでメモ。 <iframe id="testFrame" src="about:blank"> var iframe = document.getElementById("testFrame"); var doc = iframe.contentDocument; var s = doc.createElement("script"); s.textContent = "var hogehoge = [0,1,</iframe>…
id:mooz さんが WeakMap のスライドを作っているのでWeakMapについてはそちらを。または、より激しいのはLet's WeakMap - 枕を欹てて聴くをwPanoという拡張機能で、Firefoxのタブをグループ毎にツリー表示しているが、タブとグループのインターフェースとし…
window.scrollTo(x, y)でJavaScriptからスクロールできるわけだが、x,yの最大値を得る方法を探った。 Mozilla 一番簡単。 window.scrollMaxX; window.scrollMaxY; というプロパティがある。これを利用すればOK GoogleChrome ChromeにはscrollMaxX,scrollMaxY…
ページ内ジャンプのリンクでスムーズスクロールしたい 同時にlocationも弄ってハッシュ値を付ける&「戻る」/「進む」を可能にしたい window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.get…
主に拡張機能での話しだが、Firefox 8 くらいから Parser API というものが導入されている。 https://developer.mozilla.org/en/SpiderMonkey/Parser_API 何かって言うと、JavaScriptソースコードを構文解析するものである。詳しくは上記リンク先を。基本的…
知ってて当然?初級者のためのJavaScriptで使う即時関数(function(){...})()の全て - 三等兵 はてなブックマーク - 知ってて当然?初級者のためのJavaScriptで使う即時関数(function(){...})()の全て - 三等兵 知ってて当然?初級者のためのJavaScriptで使う…
vs UTF-8, UTF-16, UCS4 - 枕を欹てて聴くを読んだは良いけどやってみないと良く分からん>< あ〜んどプログラマのための文字コード技術入門 (WEB+DB PRESS plus) (WEB+DB PRESS plusシリーズ)作者: 矢野啓介出版社/メーカー: 技術評論社発売日: 2010/02/18…
Firefox 6.0a1 の話。なんか、FirefoxってECMAScript.nextの実験台になっている気が...w http://wiki.ecmascript.org/doku.php?id=harmony:proxies Proxyとは、なんていうかECMAScriptの内部関数をJavaScriptで再定義できる感じのもの。 Firefox 4.0から使…
newを封印して、JavaScriptでオブジェクト指向する(1) - 泥のように newを封印して、JavaScriptでオブジェクト指向する(2) - 泥のように newを封印するべき4つの理由 - 泥のように あたりを読んで、たまにはライブラリ的なものを作ってみようと思い立って作…
Firefox 6.0a1 (Nightly) にて、 Bug 649133 – Implement XHR2 responseType/response attributes mozilla-central: changeset 69304:618cad1b1743 が反映されてきてる。このバグの目的としては http://dev.w3.org/2006/webapi/XMLHttpRequest-2/#the-respon…
Firefox Nightly:: XMLHttpRequest の readyState 値 - hogehoge @teramako の続き、かな。 前のはいきなり枝葉に走ってしまったが、Bug 649133 ? Implement XHR2 responseType/response attributes によって、まだドラフトだけどXMLHttpRequest Level 2が実…
何か発見した。 var x = new XMLHttpRequest; x.open("GET","/", false); x.onreadystatechange = function(event) { alert(event); }; x.send(null); とやるとどうなるか。 Eventオブジェクトが取れる! event.targetはXMLHttpRequestのインスタンス! wind…
Mozilla JavaScriptの話 var o = {}; for each (let val in ["a","b","c"]) { o.__defineGetter__(val, function (){ return val; }); } 結果 o.a; // "c" o.b: // "c" o.c; // "c" になってしまう。letで書いているからいけると思ったのに。 var o = {}; fo…
ECMAScript 5th から正式に getter/setter が作れるようになったわけだが、これはMozilla の JavaScript である SpiderMonkey では前々から実装されていた。 { get foo() { return ...; } } { set foo(val) { return ...; } } に加え、 Object.prototype.__d…
Hello, I discovered that the following ES5 code evaluates differently in FF4 than Chrome and Safari. function Ctor() {}; Object.defineProperty(Ctor.prototype, "prop", { value: "prototype", writable: false }); var obj = new Ctor(); obj.prop…
まあ、"use strict";しろやハゲってことなんだろうけど...。 JavaScript Argumentsオブジェクトの挙動 - jsdo.it - Share JavaScript, HTML5 and CSS 関数中にargumentがあるかどうかで挙動が変わるというものを発見してしまったのだ。 上記、jsdo.it でやっ…
in演算子の使用法:続JavaScriptのオブジェクトについて - builder in演算子の使用法:続JavaScriptのオブジェクトについて - page2 - builder やぼなツッコミだと思いつつ。 in演算子は、こちらのforループとともに用いる用法が一般的です。 in演算子の使用…
Firefox4のJavaScriptと言えば ECMAScript 5th ECMAScript Harmony E4X ですよね。で、昨日辺りにJavaScriptの名前空間に関してTwitter上で話題に上がっていたので自分もやってみた。 参考 ES Harmony の Proxy について #fxdevcon で LT してきました - moo…
window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…
Where's Walden? ≫ More SpiderMonkey changes: ancient, esoteric, very rarely used syntax for creating getters and setters is being removed 2010-04-16の記事で知ったのは今日という、自分の情報収集能力のダメさを感じている。MozillaのJavaScript実…
Perlの話ではない、JavaScriptの話なのである。あと、タイトルはまんじゅう怖い的な意味なのである ECMAScript 5 strict mode in Firefox 4 ? Mozilla Hacks ? the Web developer blog Firefox4.0b10pre に ECMAScript5 の Strict モードが実装されましたー…
window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…
Arrayインスタンスを拡張したい。 prototype汚染はさせない Array.prototypeの上書き禁止 Arrayオブジェクトと同じ挙動 という条件。下記、EXArrayというコンストラクタをArrayの様な扱いにしたいわけだ。 テストコードでも書いているが instanceof obj inst…
http://femo.jp というサービスがあったなーと思って、ここ2〜3日の調査結果を書き込んでおいた http://femo.jp/teramako/2010/09/26 teramako : Windowsのドライブリストを得る 一番悩んでいた問題。一番上位のディレクトリのリストが欲しかったのだが、Win…
Kazuho@Cybozu Labs: (Twitter の XSS 脆弱性に関連して) 構造化テキストの正しいエスケープ手法について 404 Blog Not Found:構造化テキストの間違ったエスケープ手法について XSSしないやつ - zorioの日記 ボクも一応Twitterクライアントを作っているので…
default xml namespace = ""; var ns = new Namespace("xhtml", "http://www.w3.org/1999/xhtml"); var x = <ul xmlns="http://www.w3.org/1999/xhtml"> <li>hoge</li> </ul>; <ul xmlns="http://www.w3.org/1999/xhtml"> <li>hoge</li> </ul>; x.appendChild(<li>foo</li>);
<pre> var x = <root> <list>hoge</list> </root>; for (var i=0; i < x.*.length(); i++){ hogehoge(x.*[i]); } </pre> とか基本エスケープせずに書きたい。 ついでに 文頭、文末の改行のみの部分は削除しておきたい 先頭のインデント部分の空白部分は削除しておきたい <pre> var x = <root> ... ]]></pre> CDATAセ…
最近、E4X の勉強をしている(仕様はStandard ECMA-357ね)ご存知の通り(?) Mozilla の JavaScript *1には E4X が使えるのだが、いろいろ罠チックなものがあったり、ECMAScriptの仕様を壊してしまっていたりと面白い(ぉ const XHTML = new Namespace("xhtml…
Distribute Personas Lightweight themes - MDCを参考にスクリプトを書いてみた。これで皆もペルソナの独自配布が出来ますね!といっても信頼できないサイトからインストールするのは微妙な感じだけどね。画像はCanvasで背景(星屑)テストをテキトウにキャプ…