chaika のスレッド表示の負荷をおさえる実験で使っている方法で、元ソースは Mozmill 。 副作用がありそうでまだ試験中だけど、Piro さんが JavaScriptでsleepしたい、を実現する方法(require JavaScript 1.7) で似たようなことをしていたのでメモとして紹介。 function sleep(aWait) { var timer = { timeup: false }; var interval = window.setInterval(function(){ timer.timeup = true; }, aWait); var thread = Cc["@mozilla.org/thread-manager;1"].getService().mainThread; while(!timer.timeup){ thread.processNext
サンプルコード (HTML) 2つの div 要素を配置し、一方をドラッグ元、もう一方をドロップ先とする。 ドラッグ元となる div 要素には、「draggable=”true”」属性をセットしなければならない。ただし、リンク(a 要素)や画像 (img 要素)などは、「draggable=”true”」を指定しなくても自動的にドラッグ可能となる。 ドラッグ元の要素には ondragstart, ondrag, ondragend の3つのイベントハンドラを追加し、ドロップ先の要素には ondragenter, ondragover, ondragleave, ondrop の4つのイベントハンドラを追加する。ただし、必要最低限のドラッグ&ドロップを実装するのであれば、 ondrag, ondragend, ondragleave は省略しても問題ない。 <html> <head> <ti
こんにちは! みなさんガジェットつくってますか! なんだか最近、色々な種類があるみたいですね! (以下略!) そしたら意外と簡単だった…! これならぼくにも作れそう!! ってことで、ちょっとメモしておきますね! どれにしようかな…! おもしろいこと Ubuntu で動けばいいや*1 自分とこで書きやすいのがいい こんな感じで考えていくと… 最終的に XUL アプリケーション,ってことになりました! XUL で作られたツールなら,いつも使っているよ! (Firefox とか Thunderbird とかね) だから XUL アプリに決定! つくるのむつかしそう? XUL のアプリって C から libxul をゴリゴリ触らないとダメなんじゃないの? なんて思っていた時期がぼくにもありました…! 大丈夫!XULRunner を使えば(HTML に似た)XUL と JavaScript だけでで
Mozilla Corporation のスタッフ Brendan Eich が 昨年 8 月 に発表 して以来、多くの方から Firefox 3.1 に搭載予定の新 JavaScript エンジン TraceMonkey にご注目いただいております。 しかしこれまで TraceMonkey とその採用技術 Tracing については、Adobe Corporation、カリフォルニア大学、Mozilla Corporation の各スタッフが Blog などで解説してきましたが、英語で書かれている上に非常に専門的だったり部分的な解説ばかりで、少々敷居が高かったかと思います。 そこで、JavaScript をどのように高速化していっているのか、TraceMonkey で採用する技術を中心として、概要をまとめた資料を作成してみました。 JavaScript やプログラミングの知識がなければな
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
FirefoxのUIはXULとJavaScriptで構成されていますが、JavaScriptの組み込みオブジェクトだけではファイル操作やウィンドウ操作などができません。そこで登場するのがXPCOM、これを用いることでOSに絡んだ操作やRDFの操作などが行えるようになります。 Firefoxに付随するXPCOMコンポーネントの多くはC++でかかれ、プラットフォーム別にコンパイル作業などが必要なのですが、XPCOMはJavaScriptを用いて作ることもでき、これならOSにあわせてコンパイルする必要はありません。そこでここでは実際にJavaScriptでXPCOMを作ってみることにします。 今回作成するXPCOMコンポーネント(nntPerson)は人物をあらわすもので、年齢を示すageプロパティと年齢を言うsayメソッドを持つものとします。また、以下ではWindowsで作成することを前提とし
Latest topics > Firefox 3でコンテキストオブジェクトを明示して、日本語などを含むスクリプトを実行するための方法 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! « 迷惑をかけたくない? Main 新マシン(仕事用) » Firefox 3でコンテキストオブジェクトを明示して、日本語などを含むスクリプトを実行するための方法 - Jan 24, 2008 UxUのことで悩み中。 テストケースを実行するとき、コンテキストオブジェクトを指定してスクリプトを実行しないといけないんだけど、色々問題があって悩ましい。 brazilさんが紹介されているとおり、ビルトイン関数のevalに第2引数を渡すか、Objectクラスのメソッドであるeva
このメソッドは Firefox 3 で導入され、異なるスコープ間でコードを簡単に共有するのに使われます。例えば、自分のコンポーネントの中で、コンポーネント登録の長い定型文をコピー&ペーストすることを避けるために XPCOMUtils.jsm をインポートすることができます。 詳細は、JavaScript コードモジュールの利用 を参照してください。 注記: Gecko 2.0 以前、JavaScript コードモジュールは file: URL または resource: URL のみでしか読み込めませんでした。Gecko 2.0 で chrome: URL からの読み込みに対応しました。JAR アーカイブ内にあっても使用できます。 構文 Components.utils.import(url [, scope]); // 上記のコードでは jslint などの構文チェックツールコンパイラエ
nsIDOMFileList インタフェースには、ユーザが Web フォーム上の「file」入力フィールドで選択したファイルを説明した nsIDOMFile オブジェクトのリストが含まれています。 すべての <INPUT> 要素ノードは、このリスト内の項目へのアクセスを許可する fileList 配列を持っています。例えば、HTML に以下のファイル入力フィールドが含まれていた場合、 <input id="fileItem" type=file> 以下のようなコードで、このノードのファイルリストの最初のファイルを、様々な形式で取得できます。 // UTF-8 (既定の文字エンコーディング) でファイルのデータを取得します document.getElementById('fileItem').fileList[0].getAsText(""); // 具体的に UTF-8 として解釈された
まぁこれ、識者の間ではどうも当たり前の模様です。 mozIJSSubScriptLoaderを使う var loader = Cc["@mozilla.org/moz/jssubscript-loader;1"].getService(Ci.mozIJSSubScriptLoader); loader.loadSubScript(url, ctx); とするとctxオブジェクトにwithした状態と同等で外部のソースを引っ張る事が出来ます。 ctxを省略すると、現在のコンテキストになります。 サンプル /home/zigorou/Foo.jsなどに、 var Foo = function() {}; Foo.prototype = { name: function() { alert("ZIGOROu"); } }; /home/zigorou/FooSubScript.jsなどに func
あとで調べたら, どうやらnsIFTPChannelは使えない模様. 前に調べたのが実用可能のようなので, Tombloo + FTPUpload. FTP Upload for Tombloo あらかじめ extensions.tombloo.ftp.host extensions.tombloo.ftp.user extensions.tombloo.ftp.pass を設定しておくと, そこに向かってFTPでuploadする. extensions.tombloo.ftp.path にパスがあると, あらかじめcd pathしてから(内部的にはCWD)そのディレクトリにuploadする. この間のはPORTを実装したけれど, 今度はPASVなのでファイアウォールの警告が出ないはず. 非同期があんまりにもえぐいので, 結構危なっかしい形. FTP先によっては動かないかも. 追記 自分と
JavaScriptTombloo + JSActionsのサンプルは以下。iTunesで再生してる曲とったりできる。 var T = Components.classes['@brasil.to/tombloo-service;1'].getService().wrappedJSObject; var res = executeWSH(function(msg){ var sapi = new ActiveXObject('SAPI.SpVoice'); sapi.speak(msg); return 'END'; }, ["I'm Tombloo"]); alert(res); function executeWSH(func, args){ args = args || []; with(T){ var bat = getTempFile('bat'); var script =
JavaScriptListening Now.js Tombloo + JSActions。実行すると、曲名などが入った状態でフォームが開きます。Windowsのみ。フォーマットは適当に書き換えてください。
JSON.parseとJSON.stringifyがサポートされた。 これは、JSON in JavaScriptのネイティブ実装と言える。 これからWebサイトでJSONを使う時は、 <head> <script type="text/javascript"> if (typeof JSON != "object") document.write('<script type="text/javascript" src="http://www.json.org/json2.js"></script>'); // 実際にはローカルに落したものを使う </script> <script type="text/javascript"> // JSON.parseやJSON.stringifyを使う処理 </script> </head> とすると、クロスブラウザで、なおかつ最新のブラウザだとネイ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く