0

まず、デスクトップ (Android ではない) アプリケーションについてです。

ロードされた HTML ドキュメント内に配置されている画像のソースを、(ハード ドライブから) ローカルのものに置き換えたいと考えています。JavaFX コンポーネント (webEngine->webView->Scene->Stage) を使用してロードされたページを表示します。私がしたこと?

webEngine.load(" http:// any_page ")を使用してページをロードしました。その後、(Java 側で) 画​​像オブジェクトを取得し、それを HTMLImageElementImpl にキャストしました。これは、読み込まれたページに存在するオブジェクトの表現です。以下のように src 属性を設定します。

htmlImageElementImpl.setSrc("file:/local_path_to_my_image");

...そして、ロードされたページに新しい画像が表示されることを期待しています。残念ながら、うまくいきません。前の画像 (元はロードされたページにあった) が消え、新しい画像が表示されません (白い領域があります)。この画像があると判断しました(右ボタンをクリックすると、「新しいウィンドウで画像を開く」オプションを選択して表示できます)。現れる。コンポーネントを表示するには、コンポーネントを更新する必要があると思います。

以下のように、このタグの src をインターネットに存在する画像に置き換えると、何が面白いか:

htmlImageElementImpl.setSrc(" http://_file_existing_in_the_internet//image.jpg ");

...すべて正常に動作し、置き換えられた画像がその場で表示されます。

私は 2 日間過ごしましたが、この問題を解決できませんでした。だから私はあなたに尋ねることにしました。

よろしくお願いします

ケス

4

1 に答える 1

0

答えるのを忘れていました。トラブルはセキュリティの問題に関連していました。(java スクリプト層から) ファイル システムにアクセスする機能は、前述の原因によって制限されます。

解決策: Java 組み込みのローカル HTTP サーバーを確立し、そこでこの画像を共有しました。ローカル マシンの指定されたポートを開く必要があるという事実を受け入れる必要がありますが、これは許容できる解決策です。

于 2016-07-28T09:16:53.367 に答える