Windows、Mac、または Linux で現在ログインしているユーザーのユーザー名を知る必要がある Firefox 拡張機能を作成しています。したがって、マシンに「brh」としてログインすると、「brh」が返されます。拡張 JavaScript からそれを行う方法はありますか?
4 に答える
Firefox の拡張機能は、ページで実行されている通常の JavaScript とは異なるルールで動作します。現在のユーザーを見つけることは絶対に可能です。
エラー コンソールを (ツールで) 開き、次のように入力します。
Components.classes["@mozilla.org/process/environment;1"].getService(Components.interfaces.nsIEnvironment).get('USER')
Firefox を起動したときの環境変数は、そのNsIEnvironment XPCOM コンポーネントを通じて利用できます。
プラットフォームごとにこれをカスタマイズする必要がある場合があります。他のすべてが失敗した場合は、 NsIFileを作成~
して、その.path
;を確認できる可能性があります。ただし、シェル式がそこで尊重されるかどうかはわかりません...
フラグ付きの正解は正常に機能します。私はこれを Firefox 38 の拡張機能で使用しています。また、イベントを使用して、ページが拡張機能と通信し、拡張機能から Windows プロパティを取得できるようにします。
getWindowsProperty: function(prop){ return Components.classes["@mozilla.org/process/environment;1"].getService(Components.interfaces.nsIEnvironment).get(prop); }、
それが可能だとは思わないでください。もしそうなら、セキュリティホールになるようです。
ええ、不可能です...Javascriptは安全な環境で実行され、すべてのFF拡張機能はJavaScriptであるため、OSと多くのやり取りを行うことはできません...しかし、誰かが方法を知っているかどうかを確認するために固執しません(とてもかっこよく...)