問題タブ [javafx-webengine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
964 参照

java - WebEngine (または別のスクリプトに依存するスクリプト) で複数のスクリプトを実行する

(JavaFX の) WebEngine を使用して、Web ページで JavaScript (および jQuery) を実行し、結果を (Java コードで) 処理したいと考えています。
一部のスクリプトを単独で実行するコールバック関数に問題があります。

私の問題をできるだけ簡単に説明するために、望ましくない結果を示す最小化されたコードを作成しました (これはより大きなプロジェクトの一部にすぎません)。

そこで、次の 3 つのクラスを作成しました。

  1. Browser - WebEngine をラップし、Web ページをロードしてスクリプトを実行するブラウザーとして機能するクラス。
  2. JQueryFunction - jQuery コールバック関数で使用されるいくつかの関数をリストするクラスで、複数の方法で実装できます。(基本的に、それらはユーザーが自分のやり方で実装する機能的なインターフェースであるべきですが、簡単にするために、私はそれを通常の機能にしました)。
  3. Test - 2 つのスクリプトを実行する main メソッドを持つクラス。

ブラウザ

JQuery関数

テスト

テストを実行すると、最初executeScriptは期待どおりに実行され、一部の要素のテキストが変更されます (先頭にインデックス番号が追加されます)。
しかし、2 つ目 executeScriptは永久に動かなくなり、GUI と実際には JavaFX アプリケーション全体が動かなくなります。

これが発生する理由を理解しています...
メソッドexecuteScriptは WebEngine を ( 経由でPlatform.runLater) 呼び出して、要素を反復処理し、Java 関数を呼び出す jQuery を実行します (毎回異なるパラメーターを使用)。

  • 最初の実行 (function1 を呼び出す) では、返された String を function1 から取得し、要素のテキストに適用します。(完全に予想通り)!

  • 2 回目の実行 (function2 を呼び出す) では、Java 関数を呼び出す jQuery 関数が実行されますが、Java 関数はさらに JavaScript (または jQuery) を実行する必要がありますが、最初の実行が完了するまで WebEngine は実行されません。
    ただし、2 回目の実行の結果に依存するため、1 回目の実行は終了しません。

WebEngine は、1 つのスレッドのみ (FX スレッド内) で 1 つのタスクを次々に (シリアルに) 実行するようにプログラムされています。

それを解決する方法はありますか?
WebEngine が JavaFX アプリケーションでのみ動作するように制限されているのはなぜですか?
また、なぜ 1 つのスレッドだけで動作する必要があるのでしょうか?

0 投票する
0 に答える
500 参照

javafx - JavaFX WebEngine から JavaScript でファイルを読み取る

JavaFX (jdk 1.7 から) を使用して角度のある Web ページを表示しています。

この angular アプリケーションでは、javascript FileReader を使用して、ファイル (FileReader.readAsDataURL) の base64 コンテンツを読み込みます。

問題は、JavaFX の WebEngine が FileReader をサポートしていないことです (サポートしていると主張する人もいますが)。

私が欲しい機能:

  • REST-WS にメッセージを送信する
  • このメッセージには複数の添付ファイルが含まれている可能性があります
  • メッセージが送信される前に添付ファイルをサーバーに保存しないでください
  • 添付ファイルをプレビューする必要はありません (名前のみ)

注: JavaFX の WebEngine は、複数ファイルの入力をサポートしていません (そのため、機能しません!)

これを達成する別の方法はありますか?

0 投票する
0 に答える
222 参照

javascript - Javascript window.location.hash を呼び出す Javafx WebEngine が機能しない

WebView がドキュメント内の特定のアンカーを指すようにする別の解決策を試しましたが、失敗しました。私のターゲット名は'occ' 私が使用window.location.hash = 'occ'window.location.href ='#occ'ましたが、ここでは機能しませんでした私のコード

ここでアンカーを作成するコードの一部

0 投票する
1 に答える
1256 参照

javafx - javafxでPrintLayoutのマージンを設定するには?

私はjavaFxアプリケーションを持っていて、プリンターモジュールに取り組んでいます。ソフトウェアでは、インストールされたプリンターリスト、特定のプリンターから印刷を取得するがレイアウトで問題が発生するなど、他のことを行っています。現在、80mmプリンターがあり、印刷を取得したときこのプリンターでは、左右に余白がたくさんあります。正しい印刷ができるように助けてください。

印刷用に次のコードを使用しています:-

0 投票する
0 に答える
607 参照

javascript - javafx webview の角がちらつき

javafx webview 内で実行される角度のあるアプリを構築しています。2 つの要素の ng-show (または ng-class) を単一のスコープ変数にバインドすると、それらはしばらくの間、両方とも表示されます。

私は次のスタイルを試しました:

同じ結果で。それらを異なるスコープ変数にバインドする(そしてそれらの出現順序を手動で設定する)ことは私の最後の手段ですが、私には非常に角度のない解決策のように思えます。他の誰かがそのような問題に気づきましたか? 私のAngularコードに根本的な問題がありますか?

コードを編集 すると、通常のブラウザで動作します。アプリに ng-material モジュールを挿入しないと、問題はなくなります...

0 投票する
1 に答える
297 参照

javafx - Javafx が Webview で一部のサイトを開くことができない

アプリケーションで JavaFX WebView を使用しています。完全に開いているサイトもあれば、そうでないサイトもあります。クロム、ファイアフォックスなどのすべてのブラウザーで動作する内部 Web アプリケーションがあります。WebView で開くとログイン ページが起動しますが、[ログイン] をクリックすると、アプリケーション自体が のようなエラーをスローSome thing went wrongし、他のすべてのブラウザでは正常に動作します。一部の SAP URL も機能していません。

stackoverflow を検索した後、いくつかの解決策が見つかりました。以下の解決策を試してみましたが、問題は解決しません:

エラーを表示するために以下のコードを追加しました。

JavaFX WebView ブラウザ機能とは何ですか? あらゆる種類のサイトに対応していますか?

0 投票する
0 に答える
333 参照

html - WebView JavaFX で jar 内の Web サイトを使用する

fxml といくつかの Web サイトを res フォルダーにコピーする単純なアプリケーションを JavaFX で作成しました。fxml は res/gui にあり、Web サイトは res/szenario にあります。

IDE からコードを実行すると、GUI が表示され、埋め込まれた WebView に Web サイトが表示され、それらをクリックすることができます。ただし、jar ファイルを作成すると、Web サイトが正しく表示されません。スタイルとロジックがありません。たとえば、WebView のボタンをクリックできません。

MainController のコードは次のとおりです。

GUI は以下を使用してロードされます。

fxml が jar で機能し、Web サイトが機能しないのはなぜですか?

編集res: GUIとWebサイトを含むフォルダーの画像を追加しました:

プロジェクト構造のプレビュー

0 投票する
1 に答える
397 参照

java - WebView が正しく表示されない

Webview が正しく表示されない

左側がGoogle Chromeで読み込んだhtml ページ、右側が JavaFx WebView で読み込んだ html ページですが、JavaFx WebViewではGoogle マップのナビゲーション パネルが表示されないのが問題です。私はJava 7u79を使用しています。

GoogleMap.java

GoogleMap.html

0 投票する
0 に答える
391 参照

javafx - WebView エラー: サーバーによって接続がリセットされました

JavaFX アプリケーションを実行した後、次のURLWebViewをロードしているときにエラーがスローされます: http://docs.oracle.com/javafx/2/webview/jfxpub-webview.htm

他のPC では機能しましたが、現在のPC では機能しませんでした。なんで?これは構成の問題ですか? 私はWindows 10を使用しており、他の PC はWindows 7を使用しています。エラーの原因は何だと思いますか?

0 投票する
0 に答える
19 参照

java - getHostServices を使用して WebBrowser から PDF を開く

私はJavaFX側にはかなり慣れていませんが、これまでのところ、ローカルのhtmlファイルを取り込むJava Webブラウザを構築できましたが、持っているhtmlファイルにはpdfへのリンクも含まれています。getHostServices() を使用してシステム上のデフォルトの pdf アプリケーションを開くことができると読みましたが、null ポインター例外が発生し続けます。すべてが正しくインポートされます。

マウスをクリックすると、その場所(URL)が文字列に割り当てられ、その文字列が場所につながるようにしています:

file:///C:/Users/Me/Desktop/Absorb/bin/resources/test.pdf

そこで、部分文字列を取得し、最初の 8 文字を削除して C:/ ディレクトリだけに残し、その文字列を getHostServices().showDocument(); に渡します。

NULL ポインター例外

オンラインでa.getHostServices().showDocument(newStr);

Java File を使用してみましたが、まだ役に立ちません。助けやアドバイスをいただければ幸いです。