1

JavaScript で作成されたいくつかのファイルをクライアント コンピューターに保存する方法を探しています。彼がフォルダーを選択できるようにして (フォルダーを開く/保存するダイアログに似ています)、そこにファイルを書き込めるようにします。これには明らかに次の 3 つのことが必要です。

  • このようなダイアログをポップアップする機能。
  • クライアントのコンピューターに書き込む機能 (署名付きアプレット?)
  • JavaScript はファイル名と書き込む内容を認識しているため、何らかの方法で JavaScript と対話します。

これは可能ですか、それとも夢を見るのをやめるべきですか?

4

3 に答える 3

3

署名付きアプレットで可能です。

私はおそらく逆の方法で、JavaScriptコードがすべてのデータをアプレットに渡すようにし、アプレットFileDialogがファイルを開いて書き込む必要があります。

java から javascript を呼び出すには、 `JSObjectを使用します。Javascript から Java を呼び出す方法については、こちらで説明しています

于 2011-01-31T18:57:54.660 に答える
3

それは確かに可能です。

1 つの方法は署名付きアプレットを使用することですが、ユーザーが Java 1.6.0_10+ にアップグレードする意思がある場合、署名付きアプレットは必要ありません。1.6.0_10 (次世代 Java プラグイン) 以降、組み込みアプレットで JNLP API サービスを利用できるようになりました。これがデモです。JNLP ファイル サービス

アプレットと JS のやり取りについては、別の回答ですでに説明されているようです。

于 2011-01-31T19:00:57.867 に答える
1

アプレットが署名されている場合、通常のアプリケーションでできることはすべて実行できます。「ファイル ダイアログ」を開くことはできますが、それは Java のダイアログであり、ユーザーがタグの「参照」ボタンを押したときに開かれるものとは異なります<intput type"file"/>。明らかに、署名されたアプレットは、ユーザーのディスクで読み取りおよび書き込み操作を実行できます。

すべてのアプレット (署名付きまたは署名なし) は、 を使用して javascript を呼び出すことができますJSObject。アプレットタグに MAYSCRIPT="true" と指定するだけです。

ブラウザの「ファイルを開く」ダイアログアプレットが開けないと思います。実際には、通常の JavaScript を使用して開くことさえできません。(この時点で間違っていることを知ってうれしいですが、これをやろうとして失敗しました)。

于 2011-01-31T19:04:03.217 に答える