Firefox XPCOMコンポーネント-アクセス権は拒否されました呼び方法UnnamedClass

StackOverflow https://stackoverflow.com/questions/127693

  •  02-07-2019
  •  | 
  •  

質問

できるfirefox XPCOM成分の読み書きページのコンテンツを複数ページ?

シナリオ:束の地元のHTMLやjavascriptファイルです。A"Main.html"ファイルを開くウィンドウ"pluginWindow"をプラグインを利用:

netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var obj = Components.classes[cid].createInstance();
plugin = obj.QueryInterface(Components.interfaces.IPlugin);
plugin.addObserver(handleEvent);

プラグインのその3。

IPlugin.Read -からデータを読み込むためのプラグイン
IPlugin.Write -書き込みデータのプラグイン
IPlugin.addObserver -追加のコールバックハンドラを閲覧することができます。

の"Main.html"その話をpluginWindowに努めのプラグイン方法を書き出します。

送信されるエラー:

Permission denied to call method UnnamedClass.Write

役に立ちましたか?

解決

まずはC++のコードも プラグイン または XPCOM成, あの一部としてインストールされる 延長?音のようです。

その場合、使えないから信頼できないJSのコード-ウェブページや地元のHTMLファイルで作成します。そんなこじんまりとした使用可能から特権コードでは、最も一般的なタイプの 延長 コードです。

ワ周辺のこの問題作成時を用いてコンポーネントの enablePrivilege('UniversalXPConnect') ます。これは本当にお勧めのない限り、この分配をすることができないユーザー(以来、この呼び出pops混迷のボックスを設定した場合の嗜好を常に許可ファイル://スクリプトを使用XPCOMは、安全保障問題となっているわけではないため、すべて地元のページの信頼から保存したウェブページ).

Write コ失敗した場合の同様の理由によりファイル://のページに信頼できない使用XPCOMます。きっとできる作品を追加する場合も enablePrivilege 電話と同じ機能の呼びます。

状況に応じてあります。

場合はファイルとして取り扱う必要があります信頼されているパッケージとして延長でアクセスを介してchrome://URL。このコードをこのページのアクセス権を一切呼び出しXPCOM成分を含む。

場合、コンポーネントの方に安心してお使い頂けるから任意のページの場合や環境の制御、信頼できないページがロードされていブラウザがスポート可能なコンテンツ(検索nsSidebarに mozillaコード 例も nsISecurityCheckedComponent).

Ohが得られないときには、いくつかの良い答えがここには、是非、mozillaニュースグループ/メーリングリストが表示されます。

[編集回答へのコメント]の検討をコードする必要のコンポーネントchrome://を記述します。或いは、対応することができるでしょう"を祝福"にホームページのクロムの権限を利用コードのように この (注を取り入れるとともに、ほこりの向かう必要がありますので剥離のクロム入庫自由).

他のヒント

はMain.html このウィンドウのラムには特典?ご覧になる場合Main.html "通常"、その場所ツールバーのFirefox、その制限を実現できること(上記の書類がない場合は、任意のwebページがなく、そのものとします。.

を作成している場合は、firefoxプラグインは、ご自分のコードは、XULオーバーレイでふるい分けされ

望する他のウェブページなどでご利用のプラグインはでき立ての仕組みが既にそのページでのプラグインの作chrome権限の送信の結果のページです。

まれていませんが、firefoxの拡張...そん誤解され、何かについて教えてください。です。

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