Dan's browser event testing harness - for questions/feedback, please contact daniel at danilatos dot com Made using the Google Web Toolkit
前書き Javascript quiz ? Perfection Kills が Twitter で話題となっていたので, 挑戦してみました. 結果は 5 問のミス. 完敗でした. 色々分かっていないところがあるなと感じたので, 勉強がてらに解答と解説を書いてみました. 間違いやまずい表現などあれば指摘していただけると助かります. どれも良く考えられた問題で勉強になるので, まだやっていない方はぜひ挑戦してみてからこのエントリを読んでいただけたらと思います. 解説 1. (function(){ return typeof arguments; })(); arguments は配列. 一見配列のように見えるが, 実際は 0, 1, 2 といったプロパティと length を持ったオブジェクト. >js (function () { alert(arguments instanceof A
I was recently reminded about Dmitry Baranovsky's Javascript test, when N. Zakas answered and explained it in a blog post. First time I saw those questions explained was by Richard Cornford in comp.lang.javascript, although not as thoroughly as by Nicholas. I decided to come up with my own little quiz. I wanted to keep question not very obscure, practical, yet challenging. They would also cover wi
Jaml is a small but delightful way of rendering HTML using JavaScript. It uses a simple DSL-like syntax to DRY up your code. There are only 2 steps - registering a template and rendering it. Let's look at something simple first. On the left of each example is the source code, and on the right the rendered output. In each example on this page, the output in the textarea on the right has been evalua
最近、社内で PHP Spidermonkey が流行って(?)いるようです><! Cybozu Inside Out: SpiderMonkeyを使ってPHPでサーバーサイドJavaScript id:ama-ch さすがです>< というわけで 僕も、 PHP の Spidermonkey でどのくらいのことが出来るのか試してみました>< まず、 Hello, world! <?php // new して $js = new JSContext(); // print 関数作って $js->registerFunction(function($v) { print $v; }, 'print'); // こんにちはこんにちは! $js->evaluateScript('print("Hello, world!!")'); Hello, world!おおお、簡単! 次は、 id:m-hiy
Latest topics > evalが危険でそれ以外の方法が安全だと思ってる人へ 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! « そろそろFirefoxからChromeへの移行を本気で検討した方がいい気がしてきた Main W3C信者だったくせに現実におもねってるというアレ » evalが危険でそれ以外の方法が安全だと思ってる人へ - Feb 08, 2010 先日、ソース表示タブのアップデート版をAMOにアップロードしたところ、公開申請が却下されました。「不必要なeval()が多すぎる。拡張機能におけるeval()の5つの間違った使い方(原文:Five wrong reasons to use eval() in an extension)
Lunascript - an in-house programming language for writing rich web applications in about 10% of the time and code you can today. リッチなWebアプリケーションを構築する取り組みとして、新しいアプローチが発表された。まだ開発段階にあり成果物は公開されていないが、紹介されているコンセプトや関係者から類推するに、今後のWebアプリケーション開発において興味深い地位を占める可能性がある。 GoogleやFacebookの関係者が従事してきた従来のWebアプリケーション開発はJavaScriptやHTML、CSS、SQL、バックエンドシステム、ビルドツールなどさまざまな技術に対して深い知識が要求されていたという。同じような開発を繰り返し実施する必要があり、その工程は複雑で
またFirefoxは短縮形で取得しようとすると、設定していないプロパティにデフォルト値が入った状態で返ってくるので注意する。 getStyleValue( "div.hoge", "background" ) //Mozilla : rgb(17, 34, 51) none repeat scroll 0% 0% ルールを削除する {#deleteRule} function deleteRule( index, sheetindex ) { if( sheetindex == undefined ) sheetindex = 0; document.styleSheets[ sheetindex ].deleteRule( index ); } 全てのルールにはインデックスが振られており、それを指定することでルールから消すことができる。 ただ、同じセレクタで上書きするのとほとんど変わらな
getComputedStyle とは!? ある要素にどんなスタイルが当たっているかを計算してくれる。便利な関数。 使いかたはめっちゃ簡単! var style = getComputedStyle(element, ''); alert(style.fontSize); // 14px alert(style.color); // rgb(0, 0, 0) ちなみに第二引数は疑似要素の style を取りたい場合に使います。通常は空文字列でいい。 でも、 getComputedStyle はこのままでは IE, Safari では動かない。 Safari では window(グローバル領域) に getComputedStyle は定義されてなくて、 document.defaultView だけに getComputedStyle が定義されている。 ちなみに、 Firefox, Op
デスクトップアプリを開発してると、ListView のカラム幅が足りなくなったときに「My Docume...」のように自動的に末尾を「...」で埋めて切りつめてくれる機能がある。ウェブでも同じことをやりたかったので、作ってみた。 まず、文字列の幅を測定するには、 <span id="ruler" style="visibility:hidden;position:absolute;"> </span> みたいな隠しエレメントを用意しておいて、 String.prototype.getExtent = function(ruler) { var e = $(ruler); var c; while (c = e.lastChild) e.removeChild(c); var text = e.appendChild(document.createTextNode(this)); var
JavaScriptはJITが載り、高速化したのですが、配列操作が遅いです。連想配列とArrayがごちゃ混ぜになっているのが原因だと思います。 var ctx = canvas.getContext('2d'); var imageData = ctx.createImageData(1024, 1); var ary = imageData.data; この配列は、int32専用で、Arrayとは違って、任意の型が入るわけではありません。その分だけ、ほんのちょっとだけ高速化しています。 挿入ソートで、ベンチマークを取った実行時間の結果。長さ1024の配列を100回挿入ソートしています。単位はms。 ブラウザ canvasのImageData Array 高速化 IE 8 43400 Firefox 3.6 5369 5445 1%高速 Chrome 4 2350 2664 13%高速 S
Latest topics > JavaScript 1.7のyield文ってなんじゃらほ 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! « mod_estraierでの履歴全文検索(ミラー) Main 年金の追納 » JavaScript 1.7のyield文ってなんじゃらほ - Aug 07, 2006 JavaScript 1.7 の yield が凄すぎる件についてを見てもyieldってそもそも何なのかちいとも分かっとらんかったのでそこから調べてみた。 yieldはreturnの仲間? そもそもこのyield文というのは、JavaScriptと同じくスクリプト言語のPythonから持ち込まれた仕組みらしい。ジェネレータとは何ぞやで読める例を
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
My name is Alex. I am one of developers who helped make it possible to utilize CUDA from within Jetpack. (See the Jetpack-to-CUDA project) Andrey is Ph.D. at Moscow Institute of Physics and Technology, his interests include parallel computing and distributed algorithm development. The goal of this article is to share our ideas of how to elevate JavaScript performance by utilizing the GPU’s paralle
window.getSelection と document.getSelection - hogehoge @teramakoの続き。 Firefox内部からブラウザの選択範囲を得る場合だが、ブラウザ内のコンテンツは本来の関数が上書きされている可能性があるためは安全でない。それを解決するためにXPCNativeWrapper - MDCがあり、window.content.document.getSelectionはデフォルトでXPCNativeWrapperにラップされている。 しかし、window.getSelection と document.getSelection - hogehoge @teramakoにあるようにwindow.content.document.getSelectionは選択範囲の文字列を返してしまう。通常であれば文字列で構わないのだが、Selectionオブ
「Greasemonkeyスクリプトとウインドウ間で安全に通信する」にて、DOM イベントを用いた Web ページと Greasemonkey スクリプトとの通信について述べられています。そちらでは dispatchEvent メソッドの返り値による 1 bit 通信に触れていますが、やはりもっと自由にデータをやり取りしたいもの。そのためにはどのような方法があるでしょうか。 独自プロパティ 真っ先に思いつくのは、Web ページ側でイベントオブジェクトを作成した際、独自プロパティを追加する方法ですが、これはだめです。Greasemonkey スクリプト側ではイベントオブジェクトの独自プロパティを取得できません。event.wrappedJSObject.myProperty のように wrappedJSObject を介せば取得できますが、せっかく安全のため Firefox 側でラッパーに包
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く