2016-05-11 3 views
2

これはonly SO question about listing drivesですか?私はWindows上だすべてのドライブを一覧表示Addon SDK(Nodejs/jpm)を必要とせずにChrome

、私はアドオンの開発効率向上でnewbeeよ、I(現在は)(まだ)Node.js/jpmFirefox Addon SDKなくWeb Extensionsを使用し、またXPCOM/XULの事。いくつかは、全体を混合しているように思える私が間違っている場合..

は、私を修正したが、2016年5月の時点で、Web Extensionsは、ファイルシステムを解析することはできません(そうでない私は、ドキュメントへのアクセス権を持っていることは非常に幸せになりますそれも許可しています^^)そして、Require chromeは現在、XUL/XPCOMのものと共に廃止されているようです。私は誰もがWebエクステンション(が対象外である)に行くように誰もが推し進めているように見えるので、来年はとにかくドロップしなければならないので、Require chromeに行くことはできません...

FirefoxアドオンSDKでドライブをリストするには、非推奨のライブラリをインポートする必要はありませんか?

私の答えは以下のとおりですが、もしあれば、より良い選択肢を望みます。 MDNページには、次のとおりです。

答えて

0

(私は間違っていない場合や、当初jetpack)私はAddon SDKで何ができるかである、と私はきれいにそれを行う方法がわからないので、ええ、それはハックのようなものです私はRequire Chromeを使いたくありません。

最小バージョン

// index.js or main.js 
// declare the io/file API : 
var ioFile = require('sdk/io/file'); 

// array to make attempts : 
let drivesIds = ["c", "d", "e", "f", "g", .... "z" ]; // hack isn't it ? :/ 
for (let i = 0; i < drivesIds.length; i++) { 
    let driveName = drivesIds[i] + ":\\"; 
    if (ioFile.exists(driveName)) { 
     console.log(driveName + " is a drive and is ready !"); 
    } 
} 

そして、あなたが行われています!さて、それはかなり明白だったが、私はどこでも私が検索、またはそれが良い(再び、require('chrome')なし)

拡張バージョンができないコードそのコードを見つけることができませんでした:

  • は全体の事を置きます{ path: "c:\\", hasChildren: true, etc: "etc" }のようなドライブオブジェクトの配列を返す関数getDrives()があります。 (サブディレクトリが検出された瞬間を破るforループ内ioFile.list()ioFile.isFile()を組み合わせることにより、子ディレクトリをチェック。
  • ポートのコードを別のアドオンモジュールに、エクスポート実装で
  • ものメンバーとしてIO機能およびプロパティをカプセル化モジュール内のグローバルオブジェクトは、

すべてのこと、あなたのindex.jsファイルを軽量化。これは、他のOSに適合させることができますか?私はありません(あなたは、ファイルシステムのアンプラグドディレクトリ、メモリ内に格納するファイルシステムツリーなどのような変化を監視することができます)知っている。タイトルが誤解を招くのは、アドオンSDKがタグ付けされたドライブのリストを表示する唯一の質問です。

io /ファイルがWindowsのパス長で250〜260文字に制限されているため、ドライブツリー全体を構築しようとすると、コンピュータが停止することがあります。

セキュリティ上の問題! WebExtensionsがioの操作を拒否する理由は、おそらく文書化されていないのでしょうか? しかし、、私は良いウィンドウエクスプローラ(あなたがそこに欲しいものを保存するためにdirを選択する、ショートカットとして保存するか、ダイアログをダウンロードする)を注入するために使用します。それがFirefoxを使う唯一の理由です。私はdotNetに戻って、ioがWEに十分な柔軟性を持たない(または欠落している)場合や、Chromeを代わりに試してみると、セキュリティホールを再び作り直すだろう(今後10年間で廃止予定のAPIがない場合)。事実、あなたがioの解析を自動化することができる瞬間、セキュリティ上の問題が生じるでしょうが、あなたがそれを許さない瞬間、アドオンの拡張はファイルシステムと一緒に行く方法ではありません。

関連する問題