Portions of this content are ©2009-2020 by individual dev.mozilla.jp contributors. Content available under a Creative Commons license.
グローバルオブジェクト、通常のWeb上のJavaScriptではwindowオブジェクトのことになるが、最近のJavaScriptではWeb上で動くものとは限らないこともあって、汎用的に取れる手段が確立されている。 まぁ、通常は var global = this; で良い。 (function(global) { "use strict"; // ... }(this)); という書き方の方が一般的かもしれない。 ただし、ECMAScript5th の Strictモード環境下では、this がグローバルオブジェクトを指すことはなく undefined になってしまう。その場合、以下の様にすれば取得は可能だ。 "use strict"; var global = new Function("return this")() この書き方が一番汎用性があると思っていたのだが、一つ問題が浮上した
Windows、Mac、Linux に対応する Firefox の最新ベータ版 をテスト用に公開しました。今回のベータ版では、メモリ使用量を最適化して Web をより快適に利用できるようにするとともに、驚くような Web 体験を簡単に構築できるようにする 数多くの開発者向け機能 を追加しました。 ユーザ向けの主な新機能メモリ使用量の改善: アドオンによるメモリ使用量を最適化し、より快適なブラウジング体験を提供します。これは Mozilla の開発者が取り組んできた MemShrink と呼ばれるプロジェクトの成果です。アドオンを使っているときや長時間ブラウザを起動しているときに、メモリの使用量がこれまでより少なくなっていることに気付くでしょう。PDF のネイティブ対応: プラグインを使用せずブラウザ内で直接 PDF を表示することが可能になりました。この機能はまだ実験段階にあるため、試して
下記のようなページを実行すると、Firefox11とIE8だとエラーになって、Chrome18だとエラーとならずにalertが実行されました。 <html> <body> <script type="text/javascript"> var alert = alert; alert(1); </script> </body> </html> Firefox、IEの動作だと、var宣言された時点で、右辺のその変数が未定義扱いとなっているようです。 もともとは、下記のようなコードがFirefoxで動作しなくて気がつきました。 (これはグローバルコンテキストで実行された場合で、関数内なら意図した動作(window.URLが代入)になります) var URL = window.URL || window.webkitURL;
Firefox 10 は 01/31 のリリースに向けて開発が進められています。可能な限り互換性を維持するよう開発されていますが、他のブラウザとの相互運用性や最新 Web 標準仕様への準拠のため、後方互換性に関わる修正も含まれます。そのような修正点をまとめましたので、動作検証時などにご参照ください。 ここでは後方互換性に影響し得る修正のみ解説します。その他の新機能や変更点については次のページをご覧ください: ユーザ向けも含めた新機能: Firefox 10 の主な新機能を紹介します 開発者向けの新機能や変更点: Firefox 10 for developers UserAgent 文字列のバージョン番号が 2 桁になります Firefox 10 は初めてメジャーバージョン番号が 2 桁になる Firefox です。UserAgent 文字列でブラウザ判別を行っており、そのスクリプトのバー
現在公開中の Firefox ベータ版 は、来週火曜日に正式リリースを予定しています。 Web 開発者の皆さんには、フルスクリーン API や CSS 3D Transform のサポート、新しい開発者ツールの提供などを行っています。ユーザの皆さんには、ご利用のアドオンの互換性確認が行われるまで待つことなく更新していただけるよう、アドオン互換性の判断をより柔軟に改善しました。また、通常版とは別に、Firefox を一括導入される法人向けに 延長サポート版 を提供します。 Web 開発者の皆さんは、後方互換性に関わる修正のまとめ をご確認いただき、必要に応じて対応を行ってください。特に、今回からバージョン番号が 2 桁になるため、ブラウザ判別を行っている場合はそのコードに問題がないかどうか、この機会に確認されることをお勧めします。 これとは別に アドオンの互換性情報 も公開していますので、ま
WebWorkersで別タブ選択中もきっちり動く無敵タイマーをつくる - つまみ食う http://d.hatena.ne.jp/mohayonao/20111108/1320756534 先日書いたこのエントリーで、別タブを選択したときも精度が落ちないタイマーを作った。 でも、外部ファイルが必要だったのでライブラリ的なものに組み込むときにパスを自己解決できないという問題があった。 // 問題点:muteki-timer.js の設置場所が制限される // もしくはライブラリの外から muteki-timer.js の場所を教えてあげる必要がある var url = "muteki-timer.js"; var timer = new Worker(url); 今回は外部ファイルを使わない無敵タイマー。以下手順 BlobBuilderっていうのを使ってコードを組み立てる。 すごいと評判*1
久々に更新。Firefox 8.0 あたりから、JavaScript の document.getSelection() の挙動が変わったようでエラーが発生。 これまでは document.getSelection() では string が返ってきたのが、Selection オブジェクトが返るようになっていた。 そのため、文字列を取得するためには document.getSelection().toString() のように書き換える必要がある。 もっとも、これまでは window.getSelection() では Selection オブジェクトが、 document.getSelection() では文字列が返ってきていて変な仕様でしたが、この仕様変更できれいな形にはなったと思います。
本文には反映していませんが IE10で Error#stack が実装されました http://blogs.msdn.com/b/ie_ja/archive/2012/05/17/diagnosing-javascript-errors-with-error-stack.aspx JavaScript では例外が発生すると例外オブジェクトが生成されます。 この例外オブジェクトの仕様は標準化されておらず、各ブラウザで実装が異なります。 最新のブラウザで JavaScript の Error オブジェクトや Error から派生しているオブジェクトが持つ属性を調べてみました。 Safari Stable (Safari 5.1.1) try { throw new Error("hoge"); } catch (err) { var i, ary = []; for (i in err) {
昨夜 Firefox 8 がリリースされましたが、数日中には Firefox 9 も最初のベータ版を公開予定です。ベータ期間中には基本的に安定性や互換性の修正が行われるのみで、 新機能は追加されません。Firefox 9 のリリースは 12/13 または 12/20 を予定していますが、機能がほぼ確定するベータ版リリース前のいま、一足先に主な新機能と改良点をご紹介します。 11/29 追記: Firefox 9 のリリース日は 12/20 とするが、自動更新は年明けまで有効化しないことになりました。 Firefox 9 の特徴 Firefox 9 では JavaScript エンジンに型推論 (Type Inference) と呼ばれる技術を導入し、Firefox 8 に比べて最大で 45%、Firefox 3.6 に比べれば最大 10 倍高速化します。その他、ダウンロードした画像を実際表
Brendan Eich は JavaScript の生みの親であり現在は Mozilla の CTO です。JS 誕生時から、ECMA での標準化、オープンソース以前の V8 の話などを振り返りつつ、Brendan が 16 年ずっと持ち続けてきた JavaScript エンジンのモジュールオーナー権限を引き継ぐアナウンスを行ったブログ記事です。 つたない翻訳になってしまいましたが、他では聞けない秘話や、Brendan 独特の語りを多数のリンク先と併せて楽しんでいただければ幸いです。 原文: New JavaScript Engine Module Owner ご存じかもしれませんが、私は以前 JavaScript の 10 年について書いています。marca や Bill Joy などの協力の元で作られた Java の陰で、JS は基本的に独りで生み出されました。 始めに、少しばかり助
9/27 には Firefox 7 のリリースが予定されていますが、同時に Firefox 8 の開発はベータチャンネルへと切り替わり、数日中に最初のベータ版が公開されます。ベータチャンネルでは基本的に安定性や互換性の修正が行われるのみで、新機能は追加されません。Firefox 8 のリリースは 11/08 を予定していますが、機能が確定するこのタイミングで、主な新機能と改良点を一足先にご紹介します。 Firefox 8 の特徴 Firefox 8 ではアドオンの管理機能が強化され、ユーザの確認なくアドオンがインストールされないようになります。パフォーマンス面では、メモリ使用量を引き続き削減すると共に、タブを多数使っていても起動時間を短くできるよう、タブを選択するまで読み込まない設定が追加されます。ユーザインターフェイス面では、タブのドラッグ時のアニメーションにより操作性を向上したり、デフ
As of the Friday, April 22 build on the Nightly channel, Firefox builds now have support for window.matchMedia(). This is basically the media queries equivalent to querySelector, matchesSelector, and friends. It is implemented as described in the current cssom-view draft: see the sections on window.matchMedia() and on the MediaQueryList interface (but beware the draft could change from its state a
今夜は Firefox 5 のリリースが予定されています。Firefox は新しい高速リリースプロセスへと移行しているため、次の Firefox 6 もスケジュールベースで開発が進められ 7/5 にベータチャンネルへと移行、8/16 に正式リリースとなる予定です (いずれも米国日時)。 前回同様に、後方互換性に関わる Firefox 6 の変更点をまとめています (他にもあれば随時追記します)。リリース前に Beta 版や Aurora ビルドで互換性をテストされる Web 開発者の皆様の参考にしていただければと思います。 ここでは新機能ではなく後方互換性に影響し得る修正のみを説明します。後方互換性に関わるものに限らず、Firefox 6 の主な新機能や変更点については次のページをご覧ください: https://developer.mozilla.org/ja/Firefox_6_for_
2011/06/16 JavaScriptでPDFリーダー PDF (ISO 32000-1:2008) のビューアをJavaScriptで書いたそうだ(pdf.js)[hacker]。PDFに変換するコードはあったような気がするけど、ビューアは初かな。但し、Safari 5では表示できなかったが、Firefox 4はOKだった (Chromeもダメみたい)。 投稿者 zubora 投稿時間 05:23 ラベル: Programming, Technology, Web 0 コメント: コメントを投稿
2011/06/18 JavaScriptで書かれたMP3デコーダ HTML5/JavaScriptで書かれたMP3デコーダ(jsmad)が開発された(Firefoxで再生可能)。コードはGPL2でライセンスされ、GitHupにリリースされている。最終的にはビデオを再生できるようにしたいそうだが、先日のPDFビューアといい、プラグインやFlashが果たしてきたものをJavaScriptで置き換える作業が進んでいるようだ。 投稿者 zubora 投稿時間 05:48 ラベル: Browser, Hack, Open Source, Programming 0 コメント: コメントを投稿
先日 Firefox 5 のベータ版が公開されました。Firefox 5 の正式版は 6/22 のリリースを予定しており、Firefox 4.0.1 のユーザは自動的に更新されます。 Firefox 4 以降では Rapid Release プロセスと呼ばれる新しいリリースプロセスに移行し、セキュリティと安定性の改善と共に、新機能や高速化を含めた新しいバージョンを 6 週間毎に公開します (Firefox 6 まではプロセス移行に伴い異なる間隔)。 基本的には後方互換性が維持されるよう開発されていますが、最新 Web 標準への対応や、他のブラウザとの互換性確保のため、細部では後方互換性に関わる変更も含まれています。 そこで、後方互換性に関わる Firefox 5 の主な変更点をまとめてみました。Beta 版で互換性テストをされる Web 開発者の皆様などの参考になれば幸いです。 後方互換性
sshにはダイナミック転送という機能がある。この機能を使うと、sshはアプリケーション側にはSOCKSプロクシとして振る舞うが、そこからsshの接続先までは暗号化された状態で通信が行われる。 これだけだと通常のトンネリングとどう違うのかよくわからないかもしれないが、ダイナミック転送の場合は転送ポートを指定する必要がない。ここがダイナミックと表現される所以だろう。 例えば、オフィスAにある開発サーバdev1にオフィス外からアクセスしたいとする。しかし、dev1はオフィス外には公開されておらず、踏み台サーバladd1を経由してしかアクセスするしかない。ladd1はsshのみが動いており、これまではsshのトンネリング機能を使ってアクセスしてきたのだが、ウェブアプリケーションをデバッグする際はいちいちウェブアプリケーションのポート毎にトンネルを掘るのが面倒くさい。オフィスに限らずデータセンターへ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く