質問編集履歴
3
WebEngineのUserAgentについて、気づいた点を追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -93,4 +93,22 @@
|
|
93
93
|
}
|
94
94
|
});
|
95
95
|
…
|
96
|
-
```
|
96
|
+
```
|
97
|
+
##追記
|
98
|
+
調べてみたところ、どうやら、
|
99
|
+
起動の仕方?によってWebEngineのUserAgentが違っているようです。
|
100
|
+
webEngine.getUserAgent();を出力したところ、
|
101
|
+
|
102
|
+
Eclipseから起動した時は、
|
103
|
+
> Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.19 (KHTML, like Gecko) JavaFX/8.0 Safari/538.19
|
104
|
+
|
105
|
+
実行可能JARとしてエクスポートして、ダブルクリックで起動した時は
|
106
|
+
> Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/602.1 (KHTML, like Gecko) JavaFX/8.0 Safari/602.1
|
107
|
+
|
108
|
+
となっている事に気が付きました!!
|
109
|
+
これも何か関係あるのかな、と思っています。
|
110
|
+
> webEngine.setUserAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.19 (KHTML, like Gecko) JavaFX/8.0 Safari/538.19")
|
111
|
+
|
112
|
+
こちらを記述して書き換えてみても、状況は変わらないようですが…
|
113
|
+
解決は難しいのでしょうか…?><
|
114
|
+
自分でも調べながら気長に待っておりますので、どなたかご回答頂けるとうれしいです。
|
2
検証中、勘違いしていたところが見つかったので、該当する記述を削除しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,7 +8,6 @@
|
|
8
8
|
できれば、Eclipse上で実行しているときと全く同じように
|
9
9
|
実行可能JARファイルでもアプリケーションを動かしたいのですが
|
10
10
|
そのためにどうすればいいのか分からない状況です。
|
11
|
-
(実行可能JARで動作するときの仕様に合わせてコードを書き直すのはかなりつらいので…;;)
|
12
11
|
|
13
12
|
あと、Macのターミナルから、「java -jar ○○.jar」で実行した時と
|
14
13
|
直接JARファイルをダブルクリックして実行したときも、また動作が違うようです。
|
@@ -70,14 +69,7 @@
|
|
70
69
|
WebView(webviewTest)、ProgressIndicator(progressTest)、Label(lblTest)があるとして、
|
71
70
|
Workerが、Worker.State.SUCCEEDEDになったら、progressTestを非表示にする、というようにしたいのですが
|
72
71
|
Eclipseで実行した時と、実行可能JARファイルとしてエクスポート後に実行した時とで、WebEngineの動作が違うらしく
|
73
|
-
実行可能JARとして実行すると、Workerが
|
72
|
+
実行可能JARとして実行すると、Workerがほぼ全く「SUCCEEDED」になりません。(SCHEDULEDかRUNNINGになっているようです)
|
74
|
-
|
75
|
-
また、WebEngineで表示しているドキュメントをテキスト形式にして、出力して確認してみるのですが
|
76
|
-
やはり、Eclipseで実行した時に取得して出力したものと、
|
77
|
-
実行可能JARファイルで実行した時に取得して出力したものは、若干中身が変わっていて
|
78
|
-
webEngine.executeScript("var $el = document.getElementsByClassName(\"☆\"); $el[0].href;");
|
79
|
-
のところで
|
80
|
-
Eclipseでは取れていたURLが、実行可能JARとしてエクスポートすると、取れなくなってしまいました。
|
81
73
|
これを何とか、Eclipseで実行していたときと同じような動作にしたいのです。
|
82
74
|
```Java
|
83
75
|
webEngine = webviewTest.getEngine();
|
@@ -89,7 +81,6 @@
|
|
89
81
|
if (webEngine.getLoadWorker().getState().equals(State.SUCCEEDED)) {
|
90
82
|
progressTest.setVisible(false);
|
91
83
|
if (webEngine.getLocation().equals("http://○○○○")) {
|
92
|
-
CommonMethod.logOutput(CommonMethod.docRead(webEngine));
|
93
84
|
if ((boolean) webEngine.executeScript(
|
94
85
|
"( document.getElementsByClassName(\"☆\").item(0) != null );")) {
|
95
86
|
String testUrl = (String) webEngine.executeScript(
|
@@ -102,25 +93,4 @@
|
|
102
93
|
}
|
103
94
|
});
|
104
95
|
…
|
105
|
-
```
|
106
|
-
CommonMethod.logOutput(CommonMethod.docRead(webEngine));の部分ですが、
|
107
|
-
以下のメソッドで、現在WebEngineで表示しているドキュメントをテキストで取得しておき
|
108
|
-
アプリケーション終了時に、txtファイルとして出力するという処理を行ってます。
|
109
|
-
```Java
|
110
|
-
public static String docRead(WebEngine webEngine) {
|
111
|
-
String xml = null;
|
112
|
-
try {
|
113
|
-
org.w3c.dom.Document doc = webEngine.getDocument();
|
114
|
-
StringWriter sw = new StringWriter();
|
115
|
-
TransformerFactory tfactory = TransformerFactory.newInstance();
|
116
|
-
Transformer transformer = tfactory.newTransformer();
|
117
|
-
transformer.setOutputProperty("encoding", "Shift_JIS");
|
118
|
-
transformer.transform(new DOMSource(doc), new StreamResult(sw));
|
119
|
-
xml = sw.toString();
|
120
|
-
return xml;
|
121
|
-
} catch (TransformerException e) {
|
122
|
-
e.printStackTrace();
|
123
|
-
return null;
|
124
|
-
}
|
125
|
-
}
|
126
96
|
```
|
1
記述に間違いがありました;;
title
CHANGED
File without changes
|
body
CHANGED
@@ -70,7 +70,7 @@
|
|
70
70
|
WebView(webviewTest)、ProgressIndicator(progressTest)、Label(lblTest)があるとして、
|
71
71
|
Workerが、Worker.State.SUCCEEDEDになったら、progressTestを非表示にする、というようにしたいのですが
|
72
72
|
Eclipseで実行した時と、実行可能JARファイルとしてエクスポート後に実行した時とで、WebEngineの動作が違うらしく
|
73
|
-
実行可能JARとして実行すると、Workerが「SUCCEEDED」になりません。(SCHEDULEDかRUNNINGになっているようです)
|
73
|
+
実行可能JARとして実行すると、Workerがなかなか「SUCCEEDED」になりません。(SCHEDULEDかRUNNINGになっているようです)
|
74
74
|
|
75
75
|
また、WebEngineで表示しているドキュメントをテキスト形式にして、出力して確認してみるのですが
|
76
76
|
やはり、Eclipseで実行した時に取得して出力したものと、
|