質問

XULRunnerアプリのようなMozilla Prismがあるとします。 <!> lt; browser / <!> gt;のあるXULウィンドウがあります。要素。ブラウザは、特定のドメイン(たとえば、example.com)のWebページを表示します。

example.comにはいくつかのリンクがあります。ユーザーがローカルリンクをたどる(つまり、example.comに留まる)場合、フォローを許可する必要があります。一方、リンクがelpmaxe.mocに移動する場合、次の2つの可能性のいずれかがあります(気にしません):

  • <!> quot; real <!> quot;ブラウザが開きます(Prismと同じように)、または
  • 何も起こりません。

これを行うためのアイデアはありますか? browser.document.onloadやDOMreadyなどのイベントを使用するだけでは不十分です。これは、ページの読み込み中(つまり、これらのイベントがまだ発生していないとき)でもリンクを安全にブロックする必要があるためです。

役に立ちましたか?

解決

BlockSite によって提供される機能と同様の機能が必要なようです-アプリのドメインをホワイトリストに登録し、他のすべてをブロックする場合を除きます。 XUL Runner内での拡張機能のインストールに関するMDCドキュメントがいくつかあります。

別の方法として、ソースコードを調べて、それが引っ掛かる場所を試してみることができます。これにより、単にブロックする代わりの動作を実装し、アプリで拡張機能を出荷しないようにすることができます。 BlockSite.js はキーファイルです。ハンドラーはここに追加されるようです(171行目):

var observerService = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);
observerService.addObserver(BlockSiteObserver, "http-on-modify-request", false);

BlockSiteObserver関数は上記のコードで定義されています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top