14sendMouseEventでマウスクリックイベントを起こしたいのですが思ったような動作をしません。Firefoxのツールバーなどのボタンを押したりはできるようなのですが、座標をwebページ中にすると効果がありません(リンクなどのクリック対象に座標を合わせても反応が無い)。window.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils);でnsIDOMWindowUtilsインターフェースのユーティリティを取得できますが、このユーティリティのイベント発行系の機能は基本的に、そのウィンドウ(フレーム)自身に対してしか働きません。ブラウズ領域はインラインフレーム扱いなので、トップレベルのウィンドウではなくそのフレームのnsIDOMWindowUtilsインターフェースのユーティリティを取得する必要があります。マウス系のイベントから対応するフレームのユーティリティを取得するなら、こんな感じでしょうか。event.originalTarget.ownerDocument.defaultView.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils);座標ベースなら、document.elementFromPointを使う事になると思います。yのズレやら何やらを計算しないといけませんが。やりたいことを直接実行できるAPIはありませんか?nsIDOMWindowUtilsは自動テストでの利用を主に想定していて、拡張での利用すら想定されていませんので他のAPIよりもより一層、unstableです。そのため、利用は極力避けた方が賢明です。普通のDOMイベントを弾く、セキュリティ的に問題があるイベントハンドラもこれらのAPI経由で生成されたネイティブイベントは処理してしまいます(ここをテストするためのAPIなため)。セキュリティリスクが大きいものです。ちなみに利用するにあたってはどこからどこまでが一つのnsIWidgetであるのかを理解しておかなくてはいけません(これがバージョンごとに変わっているのですが)。引用:ブラウズ領域はインラインフレーム扱いなので、トップレベルのウィンドウではなくそのフレームのnsIDOMWindowUtilsインターフェースのユーティリティを取得する必要があります。この部分も今は真ですが、そのうち偽になります。14Piroさん、Masayukiさん、お返事ありがとうございます。やりたいことはFlashゲーム上の指定した座標でマウスクリックを行うというものです。et.idl#106target.dispatchEvent(e);の方がスマートかも。14上手くいきました。ありがとうございます。ところで、initMouseEventはスクリーン・クライアント座標を引数にとっていますが、これに値を入れても機能していないようにみえるのですがどのように使うのでしょうか(座標はelementFromPointのみに依存して機能しているようです)。さんが書きました:上手くいきました。ありがとうございます。ところで、initMouseEventはスクリーン・クライアント座標を引数にとっていますが、これに値を入れても機能していないようにみえるのですがどのように使うのでしょうか(座標はelementFromPointのみに依存して機能しているようです)。各イベントのプロパティに反映されていませんか?イベントが発生する要素を自動的に選択してほしい、というのであれば、そのようには使えません。dispatchEvent()は文字通り、そのイベントをそのDOMEventTargetに対して送信するものであって、本物のイベントをエミュレートする訳ではありません。これが、nsIDOMWindowUtilsのSend*()との大きな違いです。さんが書きました:dispatchEvent()は文字通り、そのイベントをそのDOMEventTargetに対して送信するものであって、本物のイベントをエミュレートする訳ではありません。これが、nsIDOMWindowUtilsのSend*()との大きな違いです。