質問編集履歴
1
補足
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
お世話になっております。
|
2
|
-
Mozillaアプリケーションのアドオンを作成しています
|
2
|
+
Mozillaアプリケーションのアドオンを作成しています(Windows 7 professional で開発)
|
3
3
|
Windowsファイル共有フォルダ (\\fileserver\folder\) があり、file://fileserver/folder/filename と指定して共有フォルダ内のファイルに XULRunner 上の JavaScript からアクセスしようとしてます。
|
4
4
|
|
5
5
|
```js
|
@@ -10,7 +10,7 @@
|
|
10
10
|
let f2 = fph.getFileFromURLSpec("file://fileserver/folder/");
|
11
11
|
```
|
12
12
|
|
13
|
-
上記コードで、f1 はエラーにならずにnsIFileオブジェクトを取得できるのですが、f2 はエラーになります。
|
13
|
+
上記コードで、f1 はエラーにならずに [nsIFile](https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIFile) オブジェクトを取得できるのですが、f2 はエラーになります。
|
14
14
|
|
15
15
|
例外の内容は
|
16
16
|
"Component returned failure code: 0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH) [nsIFileProtocolHandler.getFileFromURLSpec]" (String)
|
@@ -21,4 +21,11 @@
|
|
21
21
|
このエラーの原因は何なのでしょうか?
|
22
22
|
上記コードの結果から、ドライブパスから指定する方法でないと UNRECOGNIZED_PATH になってしまうように考えられるのですが(file://localhost/c$/windows/system32/ もだめでした)、何か別の手順が必要だったりするのでしょうか?
|
23
23
|
|
24
|
+
ちなみに、次のコードのように nsIFile オブジェクトを生成してUNCでパス指定をする方法は(リモートフォルダであっても)成功します。しかしこれは windows だから成功したことであって、Linux や Macintosh 上の Mozilla アプリケーションでは失敗するでしょう。
|
25
|
+
```js
|
26
|
+
let f = Components.classes["@mozilla.org/file/local;1"]
|
27
|
+
.createInstance(Components.interfaces.nsIFile);
|
28
|
+
f.initWithPath("\\\\fileserver\\folder\\");
|
29
|
+
```
|
30
|
+
|
24
31
|
ご存知の方、ご教示のほどお願い致します。
|