Mozillaでプログラミング(XUL) その3at TECH
Mozillaでプログラミング(XUL) その3 - 暇つぶし2ch331:デフォルトの名無しさん
08/12/21 17:25:18
パスみえとやらのソースをもらって解析してみればいいんじゃないでしょうか

332:デフォルトの名無しさん
08/12/21 18:05:05
URLリンク(quickware.a-quest.com)
これか? 右クリックとか D&D にこだわらなければ楽だ。用途にもよるが

333:デフォルトの名無しさん
08/12/21 19:18:27
>>331
パスみえを解析してもXULプログラミングは出来ないと思います

>>332
D&Dでドロップターゲットを取得するところまでが分かりません
右クリックは使用しません

334:デフォルトの名無しさん
08/12/21 21:07:03
似たような拡張のコードは見たのか?普通にあると思うけど

335:デフォルトの名無しさん
08/12/22 11:06:18
URLリンク(developer.mozilla.org)
汎用にするとしたらdragendでドロップ位置を取って座標で要素を取得すればいいと思ったけど
Firefox 3.0.5で試してみたけどdragendではscreenX, screenYはどちらも0になるので難しそう。

Firefox上で表示されてるパスワード入力欄についてだけパスみえのように動作するアドオンを作りたいのなら
こんな感じでどうだろう。
1.draggestureかdragstartイベントで以下の事をやる。
 ・application/x-pasumie-targetのような独自の型でデータを登録する。
 ・全ウィンドウの全フレームのパスワード入力欄に、この型のデータを受け取るdragdropかdropのイベントリスナを登録する。
2.ドロップ先要素のdragdropかdropのイベントリスナでドロップされたパスワード入力欄を特定して、パスワードを表示させる。
3.ドラッグ元要素のdragendで、全ウィンドウの全フレームのパスワード入力欄に登録したイベントリスナをremoveEventListenerする。


336:デフォルトの名無しさん
08/12/22 11:08:54
>全ウィンドウの全フレームのパスワード入力欄に
全ウィンドウの全フレーム だけでよかったスマソ

337:330
08/12/22 20:42:18
>>336
今回はまさにFirfox内の要素のみを対象として考えていました
大変分かりやすい解説をありがとうございました

338:デフォルトの名無しさん
09/01/08 19:15:35
コマンドラインのフロントエンドを作ろうとしてます。
nsIProcessだと実行しかできないようですが、
標準出力を拾う方法は無いでしょうか?

339:デフォルトの名無しさん
09/01/08 21:16:03
>>338
以前調べた限りでは
URLリンク(www.mozdev.org)
にそういう機能があるらしいけど使ったことがないから何とも言えない。

URLリンク(bugzilla.mozilla.org)
でこれをMozillaに入れるとか入れないとかしているみたい。

340:デフォルトの名無しさん
09/01/09 00:00:18
>>339
ありがとうございます。
連休にでも読んでみようと思います。

しかし、標準のままじゃできないんですね…

341:デフォルトの名無しさん
09/01/16 15:03:56
contentフォルダにsample.xulとsample.jsファイルをいれてます。
sample.jsのプログラムがうまく動きません。他に必要なファイルがあれば教えてください。

342:デフォルトの名無しさん
09/01/21 04:47:13
try {
  Components.classes["@mozilla.org/browser/sessionstore;1"]
    .getService(Components.interfaces.nsISessionStore)
    .persistTabAttribute('hoge');
} catch (e) { }

browser.sessionstore.enabled が false のときエラーになると聞いて try-catch したのに
どっちにしろ謎のエラーが・・・
ちゃんと pref 見ないとだめか

343:デフォルトの名無しさん
09/02/01 01:14:09
URLリンク(hg.mozdev.org)
こーゆーモジュールをガシガシ書いてもらって標準化してほしいぜ(それなんて jslib
FUEL はいったい何を目指しているのか…このスレを加速させる燃料にもならないぜ…

344:デフォルトの名無しさん
09/02/02 17:12:42
FUELはただのラッパだよ。正露○じゃないよ。

345:デフォルトの名無しさん
09/02/02 23:53:32
そういえばFirefox 2系が公式にサポート切れたからFUELがんがん使ってももう問題ないんだな

346:デフォルトの名無しさん
09/02/03 20:56:31
そういう問題じゃないだろ

347:デフォルトの名無しさん
09/02/03 20:58:30
なんで mozcrt19.dll 存在するの?

348:デフォルトの名無しさん
09/02/04 00:45:29
malloc を書き換えてるから。詳しくは firefox jemalloc でググれ

349:デフォルトの名無しさん
09/02/06 23:52:54
>>348
勉強になったよ

350:デフォルトの名無しさん
09/02/10 15:19:59
履歴を表示できるのですが、その表示されたURLをクリックしてもそのサイトに移動しません。
HTML要素を追加したがうまくできないです。誰か教えてください。

351:デフォルトの名無しさん
09/02/11 01:24:08
まず質問を他人にも理解できる日本語で書き直してください
次にスレッドタイトルを読み、質問するのに適切なスレッドであったか確認してください

352:デフォルトの名無しさん
09/02/11 01:47:41
真性だな、こりゃwww

353:デフォルトの名無しさん
09/02/12 00:07:25
StorageのAPI使ってplaces.sqliteから情報を取り出す処理を書いています。
Firefox3.0ではopenDatabaseで新規に接続ハンドルを作る必要があると思いますが、
作った接続ハンドルは用がなくなったらすぐにcloseした方がいいですか?
それとも次回使うときのためにポインタを保持しておいても問題ないですか?

354:デフォルトの名無しさん
09/02/13 22:32:58
places.sqlite のDBハンドルを close すると bookmark が追加変更できなくなったりしない?
保持してても問題ないと思う。

355:デフォルトの名無しさん
09/02/14 00:59:58
Firefox3.1だとAPIによってハンドルが一本化されているので、
closeするとブックマークが使用できなくなりますね。
ありがとうございました。

356:デフォルトの名無しさん
09/02/16 00:17:03
コマンドラインから
firefox.exe -chrome "c:\app.xul"

とすれば単体でXULアプリとして起動できますが
このとき以下のようにxulファイル以外の引数を同時に渡し、
firefox.exe -chrome "c:\app.xul" "hoge" "foo" "bar"

app.xul内でwindow.arguments[n]としてアクセスできませんか?
window.arguments.lengthはなぜかいつも5で、中身は全部nullです。


357:デフォルトの名無しさん
09/02/16 03:08:27
っ[ URLリンク(developer.mozilla.org) ]


358:デフォルトの名無しさん
09/02/16 12:09:01
>>357
あーまさにこれです。
ありがとうございました

359:デフォルトの名無しさん
09/02/18 18:40:51
履歴をツリー状に表示するアドオンもしくはそのようなサンプルプログラム
を載せているサイトを教えてくださるとうれしいです。

360:デフォルトの名無しさん
09/02/18 18:48:58
履歴をツリー状にって・・・Firefox自体のコード見たらいいんじゃないの?
サイドバーとかブックマークの管理とか

361:デフォルトの名無しさん
09/02/25 04:04:14
-no-remoteで別インスタンスで起動しているウィンドウ間で
データをやりとりする方法ってありませんでしょうか?

362:デフォルトの名無しさん
09/02/26 16:24:22
現在開いてるwebページのURLを取得して表示させるプログラムをXULでつくりたい
のですが、何か良い参考サイトやプログラムありませんか?

363:デフォルトの名無しさん
09/02/27 02:24:19
Firefoxのロケーションバー

364:デフォルトの名無しさん
09/02/27 13:23:47
>361
ソケット通信使うのが正道だと思う

>362
Firefoxのメインウィンドウの中なら
gBrowser.currentURI.specかcontent.location.hrefで
今開いてるページを取れる


365:デフォルトの名無しさん
09/03/03 16:36:15
Firefox3で終了なのか再起動なのかはどうやったら判定できますか?

quit-application-granted 時に
終了か再起動かで処理を分岐させたいのですが

366:デフォルトの名無しさん
09/03/03 20:53:32
URLリンク(mxr.mozilla.org)
quit-applicationの方のdataで判別できるみたいだよ

367:デフォルトの名無しさん
09/03/04 02:01:36
>>366
できました。

本当にありがとうございました!


368:デフォルトの名無しさん
09/03/05 14:24:48
ブラウザやwebサイトの読み込み完了時にスクリプトを処理するにはどうすればいいですか?

xulファイルに

window.onload = "aaaa();" //aaa();は作った関数

と記述したのですがうまく動作しません

369:デフォルトの名無しさん
09/03/05 15:27:48
>>368
JavaScript本を買って一から勉強し直してください

370:574
09/03/05 22:56:18
正解は
window.onload = aaaa;
しかし、この次元で躓いているとXUL関連やFIrefoxの拡張は敷居が高いよ。
まだまだマニュアルや情報源の情報源の十分に整備された世界ではないから…


371:デフォルトの名無しさん
09/03/06 00:30:14
From: [370] 574 <>
みっ、みらいじんだー。

もしかしたら、これを期に勉強して成長した、未来の>>368が、
自らを叱咤激励するために、書き込んだのか~?


372:デフォルトの名無しさん
09/03/07 19:13:32
nsILocalFileのdirectoryEntriesのgetNext()で取得できる
ファイルエントリの順番って保障されてますか?

373:デフォルトの名無しさん
09/03/07 22:24:07
いいえ。

374:デフォルトの名無しさん
09/03/09 00:49:43
>>373 ありがとうございます

375:デフォルトの名無しさん
09/03/11 09:14:18
Firefox3のProfileManagerに
アドオンから改造を加えることって可能?

376:デフォルトの名無しさん
09/03/15 08:50:18
Windowsの自作アプリケーションから、「現在起動中の」Firefox3にクッキーをセットしたいのですが、
どうしたらできるでしょうか?

IAccessible->IServiceProvider->ISimpleDOMDocument->IDOMHTMLDocumentで余裕とか考えていたのですが、
XPCOMがCOMじゃないということに気が付くのに丸2日かけてしまいましたorz
IEばかり使ってきたのでよくわかかりません…

377:デフォルトの名無しさん
09/03/15 08:53:29
あっ、XULの話題のスレみたいなので他所行った方がいいのかな

378:デフォルトの名無しさん
09/03/15 18:26:38
正攻法だと無理かも。

379:デフォルトの名無しさん
09/03/15 18:43:36
IServiceProviderでnsSupportsは取れるみたいなんですが
nsSupports以外の何物でもありませんでした…ダメか…

380:デフォルトの名無しさん
09/03/16 12:18:34
>>379
nsSupports.QueryInterfaceしてキャストでいけない?

381:デフォルトの名無しさん
09/03/17 15:18:54
ひょっとしてFirefoxのsqliteはメモリ上にデータベース作成できない?

382:デフォルトの名無しさん
09/03/17 21:48:18
mozIStorageService.openSpecialDatabase("memory")

383:デフォルトの名無しさん
09/03/20 16:04:11
>>382
ありがとうございます。

openDatabase(null)
でもいけるみたいですね。

384:デフォルトの名無しさん
09/03/24 04:30:25
nsIFileでファイルのlastModifiedTimeは書き換えできますが
ディレクトリのlastModifiedTimeは書き換え不可なのでしょうか?
必ず例外NS_ERROR_FILE_ACCESS_DENIEDが発生します。

パーミッションは確認しましたし
そのディレクトリを使用中なわけでもありません。

具体的にやりたいのは
新規ディレクトリ、もしくは既存のディレクトリの
lastModifiedTimeを任意の値に変更する
ということです。

385:デフォルトの名無しさん
09/03/24 07:44:36
URLリンク(mxr.mozilla.org)
URLリンク(mxr.mozilla.org)
URLリンク(mxr.mozilla.org)
実装を見ればどこに原因があるか分かるかも?

386:384
09/03/24 10:22:49
>>385
とりあえずわかったことはWindows限定の問題だということです。
Ubuntu8.10とLeopard10.5.2では書き換え可能でした。

Win2000SP4/WinXPSP3/WinVista(SPなし)とWin7で同じく
ディレクトリのlastModifiedTime書き換え試行時に
NS_ERROR_FILE_ACCESS_DENIEDが発生します。

Firefox3.0.7で実行しています。


提示されたソースのほうはC++が書けないので
なんとなくしか理解できず原因を特定するのは難しそうです。

何か試してみた方がよさそうなことはありませんか?

387:デフォルトの名無しさん
09/03/24 22:33:16
>>385
ディレクトリの時刻を変更するには、CreateFile()でFILE_FLAG_BACKUP_SEMANTICSを
指定する必要があるが、それがないから無理だな。

388:384
09/03/25 00:44:38
>>387
つまりLinux版やMac版ではFILE_FLAG_BACKUP_SEMANTICSがあるけど
Windows版ではそれがないのでディレクトリ更新時刻は書き換え
できないということですか?

なぜWindows版だけそんな仕様に・・・?

389:デフォルトの名無しさん
09/03/25 01:34:30
>>388
そういうレベルの話ではない。
更新時刻の変更はOSによってやり方が全然違っていて、CreateFile()云々は
Windows固有のやり方。それに加えて、WindowsではUnixとは異なり、
ファイルと同じ方法ではディレクトリの更新時刻は変更できない。

390:384
09/03/25 01:45:04
>>389
なるほど。では結論として、

Windows上のXULアプリからはディレクトリの
lastModifiedTimeは変更できない

と考えて問題ありませんか?

妥協策としてnsIProcessでWindowsアプリをrunして変更する
といった方法で対応するしかないという理解でいいでしょうか?

391:デフォルトの名無しさん
09/03/25 10:40:54
興味本位で聞くけどそもそも何故ディレクトリの更新時間を変更したいの?
それって本当に必要なの?

392:デフォルトの名無しさん
09/03/25 12:47:18
>>391
2つのディレクトリ間の同期をとる処理を書いています。
それでディレクトリの更新日時まで同期したいわけですが

393:デフォルトの名無しさん
09/03/25 22:54:41
ディレクトリの更新日時なんてOSどころかファイルシステムによっても
扱いが異なるからあんまり当てにならないよな。
例えばFATだと基本的には 更新日時=作成日時 だが、NTFSはそうではないし。

394:デフォルトの名無しさん
09/03/27 18:28:48
>>380
すべてのnsXXXで試したけど無理でした
Firefoxのソース見るとやはりISimpleXXXしか返していなかったので
IServiceProvider.QueryInterface(nsSupports)が成功するのはWindowsのバグかも?

395:デフォルトの名無しさん
09/03/28 16:58:24
>>394
nsSupports.QueryInterface(nsIXXX)

396:デフォルトの名無しさん
09/03/28 19:23:55
>>395
それが失敗するという話

397:デフォルトの名無しさん
09/04/11 11:03:08
mozIStorageServiceのopenDatabaseでデータベースの接続を開始できますが、
逆にデータベースの接続を終了させるメソッドがありません。
openDatabaseの戻り値への参照が破棄されるタイミングで自動的に接続が終了され、
明示的に終了する必要は無いということでしょうか?

398:デフォルトの名無しさん
09/04/12 23:37:21
mozIStorageConnectionにcloseがあるように見えるけど

399:デフォルトの名無しさん
09/04/15 21:55:29
>>398
すみません、その通りでした。
mozIStorageServiceのほうしか見ずに言ってしまいました。

400:デフォルトの名無しさん
09/04/15 23:09:12
JavaScriptのXPCOMで引数があってもなくても良いようなメソッドを定義することはできますか?
IDLでvoid test([optional] in string arg);と定義しても、引数無しでメソッドを呼び出すと、
NS_ERROR_XPC_NOT_ENOUGH_ARGSで怒られます。


401:デフォルトの名無しさん
09/04/19 02:12:33
モーダルダイアログを開いている親のウィンドウを、ダイアログも含めて閉じることはできますか?

402:デフォルトの名無しさん
09/04/21 02:06:59
できるかできないかで言えばもちろんできますよ

403:デフォルトの名無しさん
09/05/08 22:00:50
401 じゃないけどダイアログウィンドウってどうやってアクセスしたらいいの?
getElementsByLocalName 的な関数があればいいんだけど

404:デフォルトの名無しさん
09/05/10 03:01:22
ダイアログウィンドウのDOMWindowならnsIWindowMediatorで取れるよ

405:デフォルトの名無しさん
09/05/11 23:38:53
>404
ありがとう調べて見る

406:デフォルトの名無しさん
09/06/11 10:20:45
XPCOMのC++で書いたサンプルないですか?
このあたり見てますがうまくいかない・・・

URLリンク(firefox.geckodev.org)
URLリンク(takedarts.jp)

407:デフォルトの名無しさん
09/06/11 12:45:24
XPCOM使ってるAddonを片っ端からダウンロードして、
ソース入りのやつを拾い出せばいいんじゃない?

408:デフォルトの名無しさん
09/06/15 01:12:30
>>406
どこで詰まってるのか書かないと適切なアドバイスはできないよ

409:デフォルトの名無しさん
09/06/18 15:30:08
履歴から特定のドメインにマッチしたものだけを削除する方法を教えてください

410:デフォルトの名無しさん
09/06/18 16:06:56
>>409
お前ウザいけど文盲なのか?白痴なのか?

Mozilla Firefox質問スレッド(初心者歓迎)の91
スレリンク(software板:232番)

232 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2009/06/17(水) 04:45:36 ID:tn9rfOTe0
前スレでレスが付かなかった為、再度質問させてください。

【質問】
 ・ 指定したサイト(ドメインか下層ディレクトリ指定)のみ履歴を残したいのですが、
  それ以外を削除するアドオンもしくは、指定したサイトのみ履歴を残すアドオンを
  探しています。
【UserAgent】
 ・ Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)
【導入しているプラグインとそのバージョン】
 ・ Adobe Acrobat
 ・ IE Tab Plug-in
 ・ Mozilla Default Plug-in
 ・ Shockwave Flash
【導入している拡張とそのバージョン】
 ・ Flashblock 1.5.10
 ・ IE Tab 1.5.20090207
 ・ Tab Mix Plus 0.3.7.3
【使用しているテーマ】
 ・ Default 3.0.10

ご存知の方いましたら、教えてください。
よろしくお願いします。

411:デフォルトの名無しさん
09/06/18 16:21:08
そのレスは「それ”以外”を削除」「指定したサイト”のみ”履歴を残す」
と言ってるので「マッチしたもの”だけ”を削除」と言ってる>>409とは意味が真逆
なので文盲は>>410

412:デフォルトの名無しさん
09/06/18 16:28:00
質問もいい加減だよな, 対象としているクライアントがなにかサッパリだし

413:デフォルトの名無しさん
09/06/18 17:45:10
>>410
お前ウザいけど文盲なのか?白痴なのか?

414:デフォルトの名無しさん
09/08/13 15:39:28
test

415:デフォルトの名無しさん
09/08/13 15:46:40
前スレにも出てましたが、URLからHTMLDocumentオブジェクトって生成できないんでしょうか?
前スレで解決してた方は@mozilla.org/webshell;1を使って生成していたようですが、
xpcshellでwebshell.loadURIを叩くと落ちてしまいます。
xpcshell上でオブジェクトを生成したいのですが何か案はないでしょうか?

416:デフォルトの名無しさん
09/08/13 20:46:13
これか?
URLリンク(mxr.mozilla.org)

417:デフォルトの名無しさん
09/08/14 05:33:25
firefoxアドオンを作成しています。HelloWorldしか作ったことがありません。
onload,onmouseover等のイベントをアドオンから強制的に発行できる方法があったら教えていただけると嬉しいです。

418:デフォルトの名無しさん
09/08/14 06:02:18
>>416
iframeにソース突っ込むタイプですね。
既存のwindowオブジェクトを探して、そこから
iframeを新たに作成するようですが、そもそもxpcshell上には、
windowオブジェクトが存在しません。(xpcomから探しても無い。。。)
やはり、xpcshell上からの作成は無理なのでしょうか。。。

419:デフォルトの名無しさん
09/08/14 07:28:12
>>418
あー、そういうのがあるのか
XUL より下はワカンネ

420:デフォルトの名無しさん
09/08/14 08:49:57
>>419
ありがとうございました。
他にもirc.mozilla.orgで聞いてみましたが無理じゃね?って言われましたorz

421:417
09/08/14 20:04:01
自己解決しました。
ソースコードからイベントに呼ばれる関数を拾ってきました。
失礼しました。

422:デフォルトの名無しさん
09/08/22 16:44:49
今、WindowsでXULアプリをxulrunnerで作るとしたら、お勧めIDEって何がありますか?

423:DownloadWithCravingExplorer.uc.xul
09/08/28 14:43:02
<?xml version="1.0" encoding="UTF-8"?>
<overlay id="CravingExplorer"
xmlns="URLリンク(www.mozilla.org)">
<script type="application/x-javascript" xmlns="URLリンク(www.w3.org)">
<![CDATA[

function downloadWithCravingExplorer()
{
var craving = new ActiveXObject( "CravingExplorer.Api" );
if ( craving != null) craving.addDownloadItem( gContextMenu.linkURL, "flv", true );
}

window.setTimeout(function() {
var contextMenu = document.getElementById("contentAreaContextMenu");
contextMenu.addEventListener("popupshowing", function(event) {
if (event.target != this) return;
gContextMenu.showItem("id-CravingExplorer", gContextMenu.onLink);
}, 0);
});

]]>
</script>

<popup id="contentAreaContextMenu">
<menuitem
id="id-CravingExplorer"
label="Craving Explorerでダウンロード"
accesskey="D"
oncommand="downloadWithCravingExplorer();" />
</popup>
</overlay>

424:DownloadWithCravingExplorer.uc.xul
09/08/28 14:50:30
>423のような感じで
ActiveXObject経由でローカルアプリのAPIをコールしたいんですけど、
やっぱりfirefoxではActiveXを使用するのは無理なんでしょうか?
(上記を実行させると当然"new ActiveXObject"のところで"in not defined"になります)

この辺もインストールして実行してみましたが、結果は同じでした。
URLリンク(code.google.com)

ちなみに上記のxulは
リンクの右クリックメニューに
「CravingExplorerへその動画をダウンロードする」タスクを追加する
コマンドを追加します。


425:DownloadWithCravingExplorer.uc.xul
09/08/28 14:53:33
>>424
×:in not defined
○:is not defined

426:DownloadWithCravingExplorer.uc.xul
09/09/02 23:04:17
>>423-425

自己レス。
コマンドラインで引数を受け取ってローカルアプリのAPIをコールするexeを自作して、
それをxul内のスクリプトからprocess.runで呼び出す方法でとりあえず解決しました。


427:デフォルトの名無しさん
09/09/09 15:40:50
質問です。Thunderbird用にアドオンを作り、そこからFirefoxで
表示しているページのdocumentオブジェクトにアクセスすることは
できますか?

たとえばTunderbird上に届いたあるメールのヘッダの特定の文字列を
Firefoxに表示しているページのフォーム上のあるinputに入れるとか。

428:デフォルトの名無しさん
09/11/11 23:24:56
ffやthunderbirdとは関係ないStandaloneなアプリをXULで開発しようとする場合に
一番参考になる書籍ってなんでしょう?

429:デフォルトの名無しさん
09/11/11 23:38:20
>>428
>ffやthunderbirdとは関係ない

釣り?文盲?白痴?

430:デフォルトの名無しさん
09/11/12 01:14:05
fxなんて数あるGecko搭載アプリの一つでしかねーぞ。

431:デフォルトの名無しさん
09/11/13 04:14:24
>>428
和書だとFirefox関連しかないみたいだし、
洋書でもEssential XUL Programmingくらいしか見つからなかった
現状では一番参考とかいうレベルではなく、それくらいしか選択肢無いみたい
それよりはXULRunnerで動いてるソフトのソースを見た方が参考になると思う
URLリンク(ja.wikipedia.org) の動作するアプリケーション等を参考に

>>429
無知は罪じゃないから安心していいよ
そもそも>>1にちゃんと説明は書いてあるんだけどね

432:デフォルトの名無しさん
10/02/07 19:04:19
質問をさせてください。
Firefoxでロケーションが変わるたびにサイドバーに
表示しているxulコントロールの要素の値を変更させるものを作りたいと思っているのですが、
その設定の方法は

window.top.document.getElementById("sidebar-box").getElementById("コントロール名").setAttribute(要素名, 設定する値);

で良いのでしょうか?

433:432
10/02/07 19:19:55
すみません、上記の方法で試してみたところうまく動いてくれませんでした。
正しい方法についてご教授願いたく思います。

434:デフォルトの名無しさん
10/02/08 11:45:27
>432
サイドバーの内容はサブフレーム扱いだからそれでは動かないと思う
そのスクリプトが動いてるのはbrowser.xulの名前空間?
それともサイドバー内の名前空間?
browser.xulの名前空間なんだったらこう。

document.getElementById("browser").contentDocument.getElementById("myControl").setAttribute("attributeName", "value");



435:デフォルトの名無しさん
10/02/08 11:54:49
すまん間違えた
document.getElementById("sidebar").contentDocument.getElementById("myControl").setAttribute("attributeName", "value");


436:432
10/02/09 23:46:16
>435
ありがとうございます。
しかし試してみましたが期待した動作をしてくれませんでした。
名前空間についてですが、まだそこまでの理解をしておらず、調べながらになりますが、
<overlay id="sidetempOverlay" xmlns="URLリンク(www.mozilla.org)"></overlay>
内にスクリプトがあります。名前空間はこのxmlns要素内の事でよろしかったでしょうか?
連続の質問で大変申し訳ありません。

437:デフォルトの名無しさん
10/02/10 00:07:59
>>436
その<overlay>は何をオーバーレイしてるの? browser.xul? 別の物?

438:432
10/02/10 00:51:45
オーバーレイをしているファイル内では以下のように記述しています

<?xml version="1.0"?>
<overlay id="sidetempOverlay" xmlns="URLリンク(www.mozilla.org)">
<script type="application/x-javascript" src="locationchange.js"></script>
<menupopup id="viewSidebarMenu">
<menuitem observes="side_with_page" />
</menupopup>
<broadcasterset>
<broadcaster id="side_with_page" label="SIDEBAR"
autoCheck="false" type="checkbox" group="sidebar"
sidebartitle="SIDEBAR" sidebarurl="chrome://sidebar/content/side_content.xul"
oncommand="toggleSidebar('side_with_page');"/>
</broadcasterset>
</overlay>

[表示]→[サイドバー]に表示するボタンと、
それを押すことで表示されるサイドバーです。
サイドバー内には独自に作ったxulが入るようになっています。

これでbrowser.xulを書き換えていると言うことなのでしょうか。


439:デフォルトの名無しさん
10/02/10 20:00:36
それなら>435でサイドバー内にアクセス出来ると思うんだけどな。
↓にもそう書いてあるし。
URLリンク(developer.mozilla.org)
「期待した動作をしない」ってのがどういう状況なのか分からないのでなんとも。

そもそも、ロケーションの変更でサイドバーの内容を書き換えるなら、
サイドバーのスクリプトからtabbrowserにProgress Listenerを追加するのが普通だと思うんだが。
URLリンク(developer.mozilla.org)

440:439
10/02/10 20:12:46
あ、ProgressListenersの方のURLはサイドバー関連は書かれてないや。間違って張ってしまった。

441:432
10/02/10 23:33:52
>サイドバーのスクリプトからtabbrowserにProgress Listenerを追加するのが普通だと思うんだが。

一度そうしようとしたことがあるのですが、
<overlay>内でJavaScriptファイルのインポートを記述した場合、
自動でスクリプトが実行されているのか、リスナーに追加されていたのですが、
<window>内でJavaScriptファイルのインポートを記述した場合、
リスナーに追加されていないようでした。

<window>でonload属性でスクリプトを動かせば良いのかと思い試したのですが、
<window>外にインポートの記述をしたところ、エラーを吐かれてしまいました。
以下がエラー文です
「XML パースエラー: ドキュメント要素の後ろに不正な文字列があります。」

サイドバーのスクリプトからリスナーを追加する方法を教えていただきたいです。
長々と質問を続けて大変申し訳ありません。

442:デフォルトの名無しさん
10/02/11 00:06:38
<window onload="init();" onunload="uninit();">
<script type="application/x-javascript" src="progress.js"/>
</window>
で、progress.jsに
function init() { top.gBrowser.addProgressListener(~
って書けばいいと思うんだが。

443:432
10/02/11 00:37:03
>>442
試してみました、しかしどうも動いてくれません。

ちなみにサイドバーのスクリプト内で
document.getElementById("sidebar").contentDocument.getElementById("myControl").setAttribute("attributeName", "value");
を動かしてみたところ、コントロールの要素の値は変更されていませんでした。

444:デフォルトの名無しさん
10/02/11 01:07:47
いやいやいや、そりゃサイドバーのスクリプトから見たら
document.getElementById("sidebar").contentDocument
が存在するわけないでしょ。もうすこし冷静になって考えようよ。
あと、「動かない」だけじゃなくて、どこまで出来てて、どこから出来ないのか、
どこで詰まっててどういうエラーが出るのか、ちゃんと自分で把握して説明しないと、
エスパーでもないかぎりアドバイスしようがないよ。

445:432
10/02/11 03:10:22
申し訳ありません、確かにその通りでした。

ところで急展開申し訳ないのですが、
現在期待した動き(ロケーションが変わったときにサイドバーのコントロールの要素が変更される)
が動きました。
どうやらaddEventListenerをしていなかったのが原因だったようです。

446:432
10/02/11 03:14:07
JavaScriptのソースは以下のとおりです
(locationchange.js)
const STATE_START = Components.interfaces.nsIWebProgressListener.STATE_START;
const STATE_STOP = Components.interfaces.nsIWebProgressListener.STATE_STOP;
var bgipeo_Listener = {
QueryInterface: function(aIID){
if (aIID.equals(Components.interfaces.nsIWebProgressListener) ||
aIID.equals(Components.interfaces.nsISupportsWeakReference) ||
aIID.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_NOINTERFACE;
},

onStateChange: function(aWebProgress, aRequest, aFlag, aStatus){
if(aFlag & STATE_START){}
if(aFlag & STATE_STOP){}
return 0;
},

onLocationChange: function(aProgress, aRequest, aURI){
document.getElementById(コントロール名).setAttribute(要素名, value);
return 0;
},

447:432
10/02/11 03:15:04
続き

onProgressChange: function() {return 0;},
onStatusChange: function() {return 0;},
onSecurityChange: function() {return 0;},
onLinkIconAvailable: function() {return 0;}
}

function init(){
top.gBrowser.addProgressListener(bgipeo_Listener, Components.interfaces.nsIWebProgress.NOTIFY_STATE_DOCUMENT);
}
function uninit(){
top.gBrowser.removeProgressListener(bgipeo_Listener);
}

var myExtension = {
init: function() {
top.gBrowser.addProgressListener(Listener, Components.interfaces.nsIWebProgress.NOTIFY_STATE_DOCUMENT);
},
uninit: function() {
top.gBrowser.removeProgressListener(Listener);
}
};

window.addEventListener("load", function() {myExtension.init()}, false);
window.addEventListener("unload", function() {myExtension.uninit()}, false);

サイドバー
<window onload="bgipeo_init();" onunload="bgipeo_uninit();">
<script type="application/x-javascript" src="locationchange.js" />
</window>

448:432
10/02/11 03:20:43
親切にお答えいただき誠にありがとうございました。
また大量の投稿大変申し訳ありませんでした。
次からは皆様のお役に立てればと思います。
では失礼いたします。


449:デフォルトの名無しさん
10/03/01 00:26:48
chaikaみたいに、
URLリンク(127.0.0.1:8823)
とかのURL入力で値受け取るには何使えばいいのでしょうか?

450:デフォルトの名無しさん
10/03/01 00:56:06
ローカルサーバ立ち上げる

451:デフォルトの名無しさん
10/03/03 16:07:30
復活

452:デフォルトの名無しさん
10/03/06 18:16:43
BCBのアプリでHTMLレンダリングエンジン組み込みたいんですけど
付属のTWebBrowserはIEで、例えばコンテンツをコントロールキー+ダブルクリック
された時の挙動を変えようとするだけでIDispatchの派生クラス作って
イベントシンクさせてとかなり面倒な形になるんですけど
Geckoで同じことしようとした場合はもっと簡単にできるんでしょうか?

453:デフォルトの名無しさん
10/03/06 19:06:20
大して変わらない

454:デフォルトの名無しさん
10/06/04 07:47:43
ほしゅ

455:デフォルトの名無しさん
10/07/04 23:34:25
ほしゆ

456:デフォルトの名無しさん
10/08/15 23:34:03
ほす

457:デフォルトの名無しさん
10/09/20 13:48:37
見てる人いますか?

458:デフォルトの名無しさん
10/09/20 13:50:13
パネルの座標の取得ってどうすればいいですか?
leftやtopでも取得できないのですが。。。

459:デフォルトの名無しさん
10/09/20 15:51:14
そういうのはだいたい boxObject の下にあるんじゃね

460:458
10/09/20 19:13:01
>>459
即答ありがとうございます。
document.getElementById("myPanel").leftでは取得できませんでしたが、
document.getElementById("myPanel").boxObject.xで取得できるようになりました。

461:デフォルトの名無しさん
10/09/23 13:32:44
postしたページでlocation.reload(true)すると
「このページを表示するにはフォームデータを再度送信する必要があります。フォームデータを再送信すると以前実行した検索、投稿や注文などの処理が繰り返されます。」
というメッセージが表示されて処理が中断されますが、
このポップアップを表示しない、もしくは自動で再送信を押す方法はありますか?
拡張機能なら後者の方法は可能かと思ってウィンドウのID探したんですけど、
見つけられませんでした。

462:デフォルトの名無しさん
10/09/23 20:24:22
>461
DOM Inspector を起動してからそのメッセージを出して
File=>Inspect Chrome Document でそのメッセージのダイアログを選択すると
ポップアップの実体のファイルが分かる。
多分 commonDialog.xul だと思うから、nsIWindowWatcher でオブザーバを登録して
ウィンドウが開かれる度に内容を見て監視するしかないと思う。

それか、gBrowser.loadURIWithFlags とかは引数で PostData を
受け付けるようだから、それを使えば自動送信はできるはず。

463:デフォルトの名無しさん
10/09/24 08:29:43
ご回答ありがとうございます。

var wwatch = Components.classes["@mozilla.org/embedcomp/window-watcher;1"].getService(Components.interfaces.nsIWindowWatcher);
var observer = {
 observe: function(aSubject, aTopic, aData) {
  if (aTopic != "domwindowopened") return;
  aSubject.addEventListener("load", function() {
   aSubject.close();
  }, false);
 }
};

// 更新箇所
wwatch.registerNotification(observer);
window.location.reload(true);
wwatch.unregisterNotification(observer);

このようにすることでポップアップを消すことはできたのですが、
再送信を押してポップアップを閉じることができません。
また、DOM InspectorでF5や更新ボタンが効かず、
該当のダイアログを出すことができませんでした。

464:デフォルトの名無しさん
10/11/12 15:09:32
FF4でWebGL搭載だってね
正式版出たらXULRunnerで同人ゲームでも作ろうかしらん

465:デフォルトの名無しさん
10/12/03 14:52:11
初めてFirefox(3.6.12)の拡張機能を作ってみてるんだが、
ポインタファイルをつくるところでさっそく詰まりましたorz

extensionsフォルダにinstall.rdfで用いたIDをファイル名にもつファイルを作って
ファイルにはソースのフルパスを書いて再起動してもアドオンに追加されません
ポインタファイルをextensionsフォルダから取り除いて再起動すると、
同名のフォルダ(中はからっぽ)が作られます

何が問題なのか、教えてください

466:465
10/12/03 15:17:20
自己解決しました。文字コードをUTF-8(BOMあり)にしてたのが問題でした。
お騒がせしました

467:デフォルトの名無しさん
10/12/19 01:30:31
でっていう

468:467
10/12/19 01:31:13
誤爆

469:デフォルトの名無しさん
11/01/16 15:07:11
Mozillaの拡張を書いているんですが、C++/XPCOMで書かなければいけない
部分があります。C++/XPCOMのソースは、autoconfを使用して以下の
プラットフォームでビルドできるようにしています。

- Darwin_x86-gcc3
- Darwin_x86_64-gcc3
- Linux_x86-gcc3
- Linux_x86_64-gcc3
- WINNT_x86-msvc
- WINNT_x86_64-msvc

現状、Windows,Linux,Macの3つの環境でこれらのプラットフォーム用の
Xulrunnerをビルドし、そこからXPCOMを作成し、
リポジトリの拡張フォルダのcomponents/platform以下にそれらを個別に
コミットするところまではできています。
(全プラットフォームのXPCOMを手動で作成後、それらをzipで固めて拡張ができる)

ここから本題ですが、上記のプロジェクトの
デイリービルド環境を構築したいと考えたところで躓いてしまいました。
具体的な構築/運用例をググっても、なかなかでてきません。

1. gccと依存関係をクロスコンパイル+WINEにVCインストール
2. 拡張ビルドサーバ1台+コンパイルファーム2台の3台構成

などの案を考えましたが、どちらでやっても手探りで実際の
運用にこぎ着けるのに2,3週間ぐらいの期間を覚悟しています。
(2.はポータビリティなさそうなのでできればやりたくない)
実際にこれを行っているプロジェクト名を教えて頂けたり、
あるいは「自分はこうやっている」という情報があれば教えてください。


470:デフォルトの名無しさん
11/02/20 11:04:13.06
age

471:デフォルトの名無しさん
11/02/27 03:20:04.39
リンクをクリックしたときにURLを加工してジャンプさせるアドオン作りたいんですが、
なんていうイベントで処理すればいいんですかね?


472:デフォルトの名無しさん
11/02/27 21:46:40.67
なにそれ怖い

473:のみねーと ◆myadMFZ/7k
11/04/05 05:34:06.27
                ,.ィ'"               ` 、
               /   ,.--、               :.:.\
          r、 |:.:.:.:.〈;;;;;;;ノ               :.:.:.:.ヽ
          _/△ハ,,__ / ハ !:.:.:.:.:.:.::.:.:.:.:.:.:...        :.:.:.:.ヘ
      /: : : : : :/ ||:.:i/'ーリ―- 、_:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.   :.:.:.:.:.:.ハ
     //: : /: :.:.ト=': : : : :/: : : : : : :. ̄`''ー- 、:.:.:.:.:.:.:.:.:... . .:.:.:.:.:.:!
    / /: : /:.:.:.:.:/: :./: : : /: : : :./: : :/:/: /!: :.i::::``.、:.:.:.:.:.:.:.:.:.:.:.:.:.:!
.      /: :./:.:.:.:.:.:! : /: : : / : : : /: : :/:/!:./ |:.:.l|: : :.:.::::\:.:.:.:.:.:.:.:.:.:.|
    /Vlハ|/!/!|: : !: : : :! : : :.,'!: :.:/:/ |,'  |: :|!: :! : i:.:.::::ヽ.:.:.:.:.:.:.:.:l
         ,イ  /|: :.|: : : :|: : : :.!|: :/:/ |!  .|:.リ|: :|:.:.:|: : : : :ハ:.:.:.:.:.:.!
.       /  / ! ,r|: : : :|: :.'"丁/ ̄` |!   !,'十ァ!、:.|: : : :.|: !:`! _,/
          |:.! |: : : :| ,rfj ̄ヾ、   !   / |ム」_:リ!: : :.,':.:|:::「
          | ト.|: : : :K {| ::::::リ   l  / ,イ}:::::::ハ,!: :.:/:.:.,'::::|
              V:.ハ: : :.|  ゛ー ''        K.__,/ }:.:.:/:.::/::::リ
             V: |: : :ト . xxxx     ,.   `"''" //}:::/: :.,'   ただちに逃げてください...
              V:ハ : |:::\   __     "'''''' /イ:::::/: :./    
            リハハヽ-t`/  \   _,. イ//l/!/|/!      
    ,..、           / /~\ ヽ‐、  /  / / リ 
   /: : :\   _  __,.ィ| イ ,.へ `< ヽr‐ァ―=‐、      
  くr! : : : : : }フ´ \ ̄ハ:.:.:.:ハ  イ ,、〆``ー /:.:/::/   ハ
.  |ト、: : : : :/     ヘ::|: !.:.:.:ハ   ∨ ̄  / .:/::/ /   i!


ただちににげろのガイドライン
URLリンク(www.geocities.jp)
。。

474:天使 ◆uL5esZLBSE
11/07/05 07:08:17.59

ゴミが口を開くな????????????????????????????????????

475:デフォルトの名無しさん
11/07/22 21:59:34.37
Emacsでちまちま書いてるけれど、限界を感じてきた
komodo使ったら効率上がるかな

476:デフォルトの名無しさん
11/08/06 21:54:12.20
俺もspidermonkeyでflymakeしながら書いてるけど
js1.7以上対応のjslint的なものの必要性を感じている

jsdocもjs1.7以上だとデフォルトでうまく動いてくれないんだけど
拡張開発者はどうやって対応しているのか知りたい

477:sage
11/08/26 04:03:44.04
hosyu

478:デフォルトの名無しさん
11/08/26 11:14:06.66
:new

479:デフォルトの名無しさん
11/08/27 12:34:32.48
化沿ってるな
Mozilla開発者ってみんなChrome移行しちゃったの?

480:デフォルトの名無しさん
11/08/28 07:24:11.82
スレタイが分かりにくい
「Firefoxの拡張を作るスレ」とかだったらもっと人いたんじゃね

481:デフォルトの名無しさん
11/08/28 12:52:07.56
あげればいいんじゃね?

482:デフォルトの名無しさん
11/09/16 15:59:18.00
本格的にChrome移行しちゃった?
Chrome面白いの?将来的に拡張で稼げたりするとか?

483:デフォルトの名無しさん
11/09/17 12:13:26.64
Chromeの拡張は痒いところに手が届かないからなあ
APIはXULよりずっと整理されててとっつきやすいんだが、色々理不尽な制限がついてて嫌になる

484:デフォルトの名無しさん
11/09/17 18:02:27.13
Add-on SDKで拡張を作ってたらいつの間にか今までの方法に戻ってた
SDKよりboostrap.jsの方がよっぽど使いやすいぜ・・・

485:デフォルトの名無しさん
11/09/26 16:20:56.19
アドオンから外部サイトのHTMLを取得するにはどうしたらいいでしょうか
XMLHttpRequest的な関数があれば教えてくださいm(__)m

486:デフォルトの名無しさん
11/09/26 17:24:21.23
ありゃクロスドメインでも普通にXMLHttpRequestでできるんですね
多分解決?しました。。

487:デフォルトの名無しさん
11/09/27 01:33:22.77
URLリンク(dev.mozilla.jp)

Add-on SDK、結局XPCOMそんまんま使わなきゃいけないのかよ
Pythonまでインスコさせておいて、これはちょっとしょぼすぎる

488:デフォルトの名無しさん
11/09/27 05:45:42.25
アドオン自動更新ログ取って試してみたけど一度アプデするとしばらくは手動で更新確認しても
updateURLにアクセスしないのね



489:デフォルトの名無しさん
11/09/27 07:20:04.95
>>487
めっちゃ迷走してんな

490:デフォルトの名無しさん
11/09/27 14:23:11.41
XPCOMを叩くようなコードはサードパーティ製ライブラリとしてまとめておいて
一般開発者はそのライブラリを使うだけだからXPCOM触らなくて済んでウマー
ライブラリ作者はライブラリのメンテナンスのために今まで通り苦労
っていう話ですよ。
ライブラリを簡単に使うためのCPANやGemみたいな仕組みが整備されないと
多分あんまり意味無い。

491:デフォルトの名無しさん
11/10/04 15:39:00.12
てかpython入れさせるなら、もういっそのことpythonで拡張書けるようなもの作っちゃいなよって思う

492:デフォルトの名無しさん
11/10/05 06:54:51.06
pythonextがあるから現時点でも作れるには作れるけどビルドにも必要なんだからネイティブサポートしちゃえばいいのに
最近のECMAScriptなんてPythonの影響受けまくりだし

493:デフォルトの名無しさん
11/10/07 06:49:58.90
xptの動的登録ってできないのかな
いろいろ探してみたんだけどわからんかった

494:デフォルトの名無しさん
11/10/07 09:07:58.98
>493
今の設計ではどう頑張っても無理。
Components.manager.addBootstrappedManifestLocation()と同様の機能が実装される必要がある。

495:デフォルトの名無しさん
11/10/07 11:35:42.41
addons.mozilla.org おちてるっぽい

496:デフォルトの名無しさん
11/10/11 23:11:48.54
久方ぶりにまとまった内容の本が出るっぽいが
URLリンク(www.oreilly.co.jp)

でもどうせこれ買うのアドオン開発者くらいなんだから、XUL解説メインの本を出してほしいわ

497:デフォルトの名無しさん
11/10/11 23:47:38.93
本買った 理解できたと 勘違い

498:デフォルトの名無しさん
11/10/12 00:28:00.98
本買うよりMDN見たほうがいいよ

499:デフォルトの名無しさん
11/10/12 00:54:00.93
いまさら Gecko はねーだろ
JavaScriptは参考になるだろうけど

500:デフォルトの名無しさん
11/10/12 01:33:14.19
MDNは化石レベルの情報が平然と残ってるのでちょっと怖い

501:デフォルトの名無しさん
11/10/12 02:00:23.57
しょっちゅうリンク切れしてるのかんべんしてくれよ

502:デフォルトの名無しさん
11/10/12 02:25:20.29
翻訳してないページなら素直に英語版のリンク貼りゃいいのに、なんで存在しない日本語版のページへリンク貼るんだ

503:デフォルトの名無しさん
11/10/12 11:43:41.15
>>494
はっきり否定してくれてありがとう。半年くらい悩んでた。

504:デフォルトの名無しさん
11/10/29 06:01:06.80
.xul内で変数か定数って使えますか?


505:デフォルトの名無しさん
11/11/01 00:28:08.77
.xulに埋め込んだJavaScriptの中なら定数使えるけど、よくいみわかんね

506:デフォルトの名無しさん
11/11/01 00:28:21.48
.xulに埋め込んだJavaScriptの中なら変数や定数使えるけど、よくいみわかんね

507:デフォルトの名無しさん
11/11/05 01:27:09.44
再起動不要なアドオンの作り方ってどうすんの?


508:デフォルトの名無しさん
11/11/05 01:41:59.90
jetpackで作ればおk


509:デフォルトの名無しさん
11/11/05 01:49:19.36
調べてみましたが、これってこれからの主流になるんでしょうか?


510:デフォルトの名無しさん
11/11/05 02:05:28.89
拡張を作る用意さやら導入時の再起動無しやらを考えれば主流になると思うよ
ただバージョンが古いFirefoxへ対応が難しいのが難点
3.6とかへ対応したいなら素直にXUL等で記述する従来でのやり方に慣れた方が良さげ

511:デフォルトの名無しさん
11/11/05 02:08:18.07
どうだか
制限は多いし資料は少ないしで、どっちかっつーとboostrap.jsの方が・・・

512:デフォルトの名無しさん
11/11/05 05:04:51.56
Components.classesだけ書き換えたら完了するようなラッパーはないんですか!

513:デフォルトの名無しさん
11/11/05 05:52:31.84
それがboostrap.jsだ

514:デフォルトの名無しさん
11/11/05 06:56:56.32
xulが使えないのが致命的

515:デフォルトの名無しさん
11/11/05 10:12:52.27
boostrapじゃなくbootstrap.jsじゃないのか

516:デフォルトの名無しさん
11/11/05 11:48:55.80
Firefox 8からはchrome.manifestでchrome://...普通に使えるようになるよ

517:デフォルトの名無しさん
11/11/22 04:09:02.04
サイドバーにおいたTEXTBOXのキャレット位置を取得したくおもい、調べて見たところ.getSelection()を使い
最初から選択位置までの文字列を取得し、改行を数えるという所までわかり、文字列を選択出来るようになったのですが。
反転されている選択した文字列を変数に代入の仕方が判らない為改行の数が数えられません。
サイドバーにあるTEXTBOX上の反転文字列を取得するにはどのようすればよろしいでしょうか?

518:デフォルトの名無しさん
11/11/23 01:47:18.43
valueをselectionStart/Endでsubstringすればいいんじゃないかな

519:デフォルトの名無しさん@か
11/11/26 19:14:13.77
>>518

518さん
substringというのを知らなかったので試してみたところ、無事取得できました。

ありがとうございました。やっと先にすすめます。

520:デフォルトの名無しさん
11/11/29 19:34:40.59
最近XULをはじめたんですが疑問があります。
①下記のように条件をクリアーしたらremoveEventListenerするようにしたつもりなんですが
解除されません。

--------------------------------------
function aaaaa() {
Components.utils.reportError(gBrowser.mTabs.length);
if(gBrowser.mTabs.length>3){window.removeEventListener("TabOpen",this, false);}
}

window.addEventListener("TabOpen",aaaaa, false);
--------------------------------------

②カスタムボタンでテストをよくおこなうのですが、FirebugにConsole.infoが渡せません。。
errorではなく、infoで渡す方法はないでしょうか?





521:デフォルトの名無しさん
11/11/29 19:51:21.71
① this === window

522:デフォルトの名無しさん
11/12/09 06:12:15.58
Firefoxオプションのプロキシ経由で繋いでいるかを判別するにはどうしたらいいですか?


523:デフォルトの名無しさん
11/12/09 18:50:35.98
network.proxy.type見ればよかったですね
すみません

524:デフォルトの名無しさん
12/01/29 18:00:03.88
Firefoxでmp3再生するのにいい方法ないかね
フラッシュは手間がかかる割に不安定だし
audio.jsはなんかローカルファイルの再生が出来ないし

audioタグがmp3に対応してくれりゃこんなに苦労しなくてすむのに…

525:デフォルトの名無しさん
12/03/11 01:23:47.58
閲覧しているページのキャプチャを自動的に取るアドオンを開発していて、
documentのloadイベントのタイミングでキャプチャするようにイベントリスナーを登録しました。
そして試してみたところ、Frameページを表示すると、小フレームの数だけdocumentにloadが
起きるようです。
どうしたら、Frameページでもページ全体がloadされたイベントを一回だけ拾うことができるのでしょうか?

526:デフォルトの名無しさん
12/03/11 01:49:16.28
event.targetは?

527:デフォルトの名無しさん
12/03/12 00:47:48.06
<browser>タグのオブジェクトに対してaddEventListener("load", loadHtml, true) と登録したのですが、
フレームページを表示すると、フレームページの数だけloadHtmlが呼び出されてしまいます。
呼び出されたすべてのeventのtarget, currentTarget, explicitOriginalTarget, originalTargetを
確認しても子フレームからのイベントだとは判断できず、すべてが<browser>タグのオブジェクトのようです。


528:デフォルトの名無しさん
12/03/12 00:51:34.98
URLリンク(developer.mozilla.org)

if (event.originalTarget instanceof HTMLDocument) {
var win = event.originalTarget.defaultView;
if (win.frameElement) {
// Frame within a tab was loaded

529:527
12/03/12 01:09:34.19
>>528
できました。
ありがとうございます。
XULの開発はしっかり英語の部分を読まないとだめですね。気をつけます。

530:デフォルトの名無しさん
12/03/12 20:47:01.58
そのページは日本語のページもあるけど

531:デフォルトの名無しさん
12/03/16 12:59:59.51
Firefox11のXMLHttpRequestしゅごいいいいいいいいいいい!!
コードから正規表現がゴリゴリ減っていくのおおおおおおおおおおお!!


532:デフォルトの名無しさん
12/03/17 10:41:44.46
なにそれくやしく
と言うまでもなく調べたがxhr.responseXML.titleとか出来るようになるんか
URLリンク(developer.mozilla.org)

533:デフォルトの名無しさん
12/03/22 22:49:58.54
responseXMLをjQueryで操作できないもんかね

534:デフォルトの名無しさん
12/03/22 23:44:44.73
jQueryバグだらけ

535:デフォルトの名無しさん
12/03/23 02:09:21.23
xhr.responseXML.getElementsByClassNameがまともに動かねえでござる

536:デフォルトの名無しさん
12/03/23 18:52:53.38
>>533
移植すりゃいいだけじゃねえの?
$をresponseXMLの参照にするくらいだべ

537:デフォルトの名無しさん
12/03/24 09:15:33.41
readyStateが3で止まりまくる
使えねえ

538:デフォルトの名無しさん
12/03/24 12:37:14.88
以前、Firebugを有効にしているとreadyStateが4にならないことがあった気がする


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch