loadContent()
メソッドでwebEngine
にロードされるString HTMLコンテンツがあります。私はまた、このページで使用されるいくつかのCSSと画像ファイルを持っています。私はこれらのファイルをJavaクラスの同じパッケージに入れますが、ロードされたページはそれらを見つけることができません。 APIのドキュメントやウェブを探したが、それに似た適切な解決策を見つけることができなかった。これらのファイルをどのようにロードするのですか?javafx.scene.web.WebEngine#loadContentによって読み込まれたhtmlページからCSSおよびイメージファイルにアクセスするには?
答えて
あなたはloadContent
次の方法のためのHTML文字列で、ローカルパスを設定する必要があります。
view.getEngine().loadContent(
"<img src='" + getClass().getResource("1.jpg") + "' />");
あなたは、Javaクラスと同じパッケージ内のファイルで、あなたの文字列のHTMLコンテンツを配置し、代わりにengine.load(String url)
方法を使用することができます:
engine.load(getClass().getResource("mypage.html").toExternalForm());
あなたがこれを行うと、HTMLページ内のすべての相対リンクは、あなたのJavaパッケージ内のリソース(例えば、CSSと画像ファイル)に解決されます。
jarファイルにあるリソースをロードする場合、jar:
プロトコルは親指定子を持つ相対リンクを理解していないことに注意してください。たとえば、<img src="../images/image.png"/>
は動作しませんが、<img src="/images/image.png"/>
または<img src="images/image.png"/>
は(画像をjarファイルの適切な場所に置くと)長くなります。 file:
プロトコルにはこのような制限がなく、リソースを使用してロードすると、相対リンクが正常に機能します。
静的ではなくJavaコードによってHTML文字列が動的に生成される場合は、Sergeyの解決策が最も適しています。
<html>
<head>
<title>The slash at the end of the href is important!</title>
<base href="file:///absolute/path/to/your/docroot/" />
</head>
<body>
<img src="image.png"/>
</body>
</html>
あなたはengine.loadContent(String)
経由で上記のコードをロードする場合は、image.png
が/absolute/path/to/your/docroot/image.png
からロードされます。
私はちょうどHTMLで<base>
タグを使用しても、トリックを行うことが分かりました。
複数のリソースをロードする必要がある場合は、単一の場所で絶対パスを指定するだけで済みますので、この方法は簡単です。
これはJava 8u25のWebView
でテストされています。
は、あなたがメモリにBufferedImageのためにこれを行う方法を知っています。この
<link href="file:css\default.css" rel="stylesheet" type="text/css" />
- 1. ページを再読み込みせずに、読み込まれたhtmlページにhtmlコードを挿入するには?
- 2. オブジェクトおよび/またはJSONからHTMLテンプレートを読み込むライブラリ
- 3. javascriptページの読み込みによってページがバンプする
- 4. Ruby:システムプロセスによって書き込まれたファイルからの読み込み
- 5. プロパティファイルから読み込みおよび読み込めません。
- 6. ラムダによって取り込まれた変数にアクセス(読み込み専用)できますか?
- 7. は、HTML、CSSおよびJavaScript
- 8. リフレッシュするたびにindex.htmlにページを読み込みます。
- 9. ローカルおよび外部サーバーから画像を読み込み、iphone sdkのwebviewに読み込む方法は?
- 10. ベクトル、構造、およびwhileループ - ファイルからの読み込み
- 11. HTMLフォームによる読み込みエラー
- 12. PHPでCSSを使ってhtmlページを読み込む方法
- 13. C#のリソースから画像を動的に追加および読み込み
- 14. C++のjavaのwriteIntメソッドによって書き込まれたファイルからintを読み込みますか?
- 15. iframeに読み込まれたPHPからページをリロードする
- 16. どのように動的に読み込まれたaspxページのコントロールコレクションにアクセスするには?
- 17. 読み込まれたページのHTMLタイトルを取得するにはどうすればよいですか? (PyQt4)
- 18. Pythonはregexによってファイルから行を読み込みます
- 19. FirefoxおよびChromeウェブブラウザでgithubページ(.github.io)が読み込まれない
- 20. CSS&Javascriptが読み込まれないようにする - WebView
- 21. CSSが全く読み込まれないようにする
- 22. AJAXによって読み込まれたHTML上に新しいブートストラップセレクトピッカーコントロールを作成する方法は?
- 23. XSLTおよびXMLコンテンツがMicrosft EdgeおよびInternet Explorerブラウザに読み込まれない問題
- 24. Javascript/HTML>フォーム/入力>ページが読み込まれるたびに自動的に呼び出される
- 25. Judgment webviewページはどのように読み込まれていますか?
- 26. JavaScriptによって読み込まれた画像にフェードインを追加する
- 27. ページの読み込み時にHTMLリダイレクト
- 28. 要素クラスは、jqueryによってiframeに追加された後にCSSプロパティを読み込まない
- 29. Resourceによって読み込まれたスプライトサイズを取得する方法は?
- 30. すべてのページに同じHTMLを読み込みます
を試してみてください? – alistair
@alistair ImageIOクラスを使用することができます。Buffered Imagesを読み取るメソッドがあります。 –