JavaScriptからJavaScriptを読み込むのは、(IEに対応する場合は特に)結構面倒です。 ちょうど昨日公開されたid:amachangのはてブにアクセスチャートを出す Greasemonkeyでは、こんな実装になっていました。 // for IE if (!document.evaluate) { var script = document.createElement('script'); script.src = 'http://svn.coderepos.org/share/lang/javascript/javascript-xpath/trunk/release/javascript-xpath-0.1.11.js'; document.body.appendChild(script); var calle...
Firefoxのソースコードを追っているうちに、たまたま1年遅れで IT戦記 - JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念 の裏側がどうなっているかがわかったので、その話を。 タイマーの管理方法 そもそもjavascriptからsetTimeoutを呼ぶと、どういう仕組みで指定した時間後に渡した関数が呼び出されるようになっているのでしょう。Linuxであればsleepのように一...
これはデザイナーのみならず導入必須のソフトウェアと言えそうだ。 Webサイトを作る際には、モックアップが必要になる。それをベースにして「ここをこうしよう」「次はどこに遷移させよう」といった議論が可能になる。頭の中だけではイメージがはっきりせず、意見も出しづらい。 ドラッグアンドドロップでモックアップを作成できる そんなモックアップを作成しようと...
最近の中学生のはじめてのプログラミング言語がJavaScriptだったりするこの時代、最も使いやすいJavaScriptの実行環境であるFirebugは現代のコマンドラインです。UNIXコマンドラインでgrepやuniqを使って、日常の細々した処理を行うのと同じようにFirebugとjavascriptを使いこなせると、日常作業のちょっとしたことをさくっとこなすことができます。ちょっとした作業だから手作業でやって...
for 文で 100 項目とか 1000 項目とかあるテストケースを処理するとブラウザが固まる。 こんなダイアログが表示されます。 ということで for 文を setTimeout や setInterval に変換する事で定期的にブラウザに処理を戻すことができる。 // ここでは console.log のところでログを取ってますが // 通常は処理が入ります。 for (var i = 0; i < 3; i ++) { console.log('a' + i); } /* * 結果 * a0 * a1 * a2 */ これ...
ブラウザ上でのイベント処理の仕組みは DOM 2 Events および DOM 3 Events 草案にて規定されています。しかし、DOM 2 Events で言及されていない部分など、細かい動作はブラウザごとに異なっていることもあります。そうした仕様と実装の差異を、「作って納得! DOM 2 Events」で触れなかったものも含めて、いくつかまとめてみました。 ターゲットフェーズで呼び出されるリスナ DOM 2 Events の...
本書の内容は技術評論社刊「Software Design」2007年4月号第2特集「Firefox拡張機能開発チュートリアル」および、同誌2007年2月号第2特集「プログラマよ立ち上がれ! OSS開発者への道」に掲載された内容の一部に基づいています。 本書の内容は「Creative Commons 表示-継承 2.1 日本」ライセンスのもとで利用できます。また、サンプルコードはMITライセンスのもとで利用できます。 ©2008 M...
先日とうとうFirefox 3がリリースされましたが, 皆さんはすでにインストールしましたでしょうか。本連載では,簡単な拡張機能を題材としてFirefox 3で拡張機能を開発するための基本的な手順を解説します。 連載第1回となる今回は,ポインタファイルとインストールマニフェストを作成し,必要最低限の構成でテストインストールを実施することを目標にします。 なお,第1回完成...
『 Cで開発のアプリがAdobeFlashで動作する(Cソース→LLVM命令→ActionScript実行VM向け命令→Flash→Tamarinバイトコード)C言語でコンパイルされたLua、Ruby、Perl、PythonがFlashで動作している 』
Firefoxの強みといえば、やはり膨大な種類と強力なアドオンでしょう。その中でも特に使える、そして開発に役立つアドオンがありますので是非活用してみてください。もうこれでアプリ要らなくなるかもしれません。 ◆DreamWeaverの代わりに『Codetch』 言うならば、DreamWeaver。ブラウザ上で、HTMLのコーディングが視覚的にできてしまうDW要らなくなるソフト ■Codetch.com :: Home ■イン...
IEとFirefoxではwindow.onerrorを設定するとJavaScript全体のエラーを補足できます。さらに返値をtrueにすると標準のエラーダイアログを抑制できます。簡単なサンプルはこんな感じ。 window.onerror = function(mes,file,num){ alert([ "file : " + file, "line : " + num, "message : " + mes ].join("\n")); return true; } あまり細かい情報を取得できるわけではないので、例外処理に使ったりはできないのですが、エラーメッ...
)だと直感し(遅い)、とは言ってもXPathのことはほとんど知らないので勉強もかねて、HTMLドキュメント内のノードをXPathで検索するスクリプトを作ってみました。Mozilla/Firefox用です。 ソースはこちら: XPathFinder.js 呼び出し方は30秒ほど考えた挙句、bookmarkletによるサーバからのスクリプト読み込みにしてみました。これが一番簡単に試せるので。 bookmarklet: XPath Finder bookmarkletを起動する...
『 Seleniumisatesttoolforwebapplications.Seleniumtestsrundirectlyinabrowser,justasrealusersdo. 』
『 タブブラウザはスルー?IEエンジンを素で使ってる開発者とか居るの?プニルのHawkeyeとか良さげだけど、どうよ?>Web屋さん 』
サーバーエンジニアといえど、ページ表示のパフォーマンスチューニングなどブラウザで確認したりすることはよくあると思います。 自分自身のメモもかねて、そんな際に自分がよく使用しているアドオンを紹介したいと思います。 firebug JavascriptやCSSのコーディングをやる方にはおなじみですね。firebugです。私はjavascriptのDebugだけでなく、各コンテンツの取得時間を見る際にも...
これまた数ある車輪の再発明のうちの一つだけど、習作をかねて /lang/javascript/DOM.resize /- CodeRepos::Share - Trac 続きを読む
Selenium Auto Exec Server(AES) Seleniumによる継続的なリグレッションテストを行うためのツールとして、「Selenium Auto Exec Server(AES)」を公開しました。 Selenium AESを使うと、Seleniumによるテストを毎日決まった時間に実行し、その結果をメールで送信するといったことが簡単に行えるようになります。 配布しているアーカイブは、サンプルとしてhttp://www.google.com/に対するFirefox、IEを使ったテ...
基本的にはconsole.debugと同じですが,出力の先頭に「×」のアイコンをつけ,ステータスバーのエラーに追加されます。 console.assert(expression[, object, ...])) expressionがfalseなら第2引数以降をconsoleに出力する。第2引数以降はconsole.logと同様です。 console.dir(object) 渡されたオブジェクトのプロパティと値を全て出力します。 console.dirxml(object) 渡されたノードのソースツリーを表示します。HTML...
『 gainerやろうと思ってbuiltwithprocessing買ったとこ。これまでjaveappletでしか公開できなかったのが、javascript対応ってことかな。デザイン、アートのためのプログラミング。proce55ingで検索。 』
Webアプリケーションのテストは面倒くさい。HTTPでゲットするだけであれば良いが、ポストしたり、JavaScriptでレンダリングしてあったりと、動作も複雑だ。それらを全て網羅的にテストするのはなかなか難しい。 自動操作中 そこでテストにブラウザを使ってみよう。自動操作することで、テストの効率化をはかれる。 今回紹介するオープンソース・ソフトウェアはFirewatir、Firef...