質問編集履歴
3
WebEngineのUserAgentについて、気づいた点を追記しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -189,3 +189,39 @@
|
|
189
189
|
…
|
190
190
|
|
191
191
|
```
|
192
|
+
|
193
|
+
##追記
|
194
|
+
|
195
|
+
調べてみたところ、どうやら、
|
196
|
+
|
197
|
+
起動の仕方?によってWebEngineのUserAgentが違っているようです。
|
198
|
+
|
199
|
+
webEngine.getUserAgent();を出力したところ、
|
200
|
+
|
201
|
+
|
202
|
+
|
203
|
+
Eclipseから起動した時は、
|
204
|
+
|
205
|
+
> Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.19 (KHTML, like Gecko) JavaFX/8.0 Safari/538.19
|
206
|
+
|
207
|
+
|
208
|
+
|
209
|
+
実行可能JARとしてエクスポートして、ダブルクリックで起動した時は
|
210
|
+
|
211
|
+
> Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/602.1 (KHTML, like Gecko) JavaFX/8.0 Safari/602.1
|
212
|
+
|
213
|
+
|
214
|
+
|
215
|
+
となっている事に気が付きました!!
|
216
|
+
|
217
|
+
これも何か関係あるのかな、と思っています。
|
218
|
+
|
219
|
+
> webEngine.setUserAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/538.19 (KHTML, like Gecko) JavaFX/8.0 Safari/538.19")
|
220
|
+
|
221
|
+
|
222
|
+
|
223
|
+
こちらを記述して書き換えてみても、状況は変わらないようですが…
|
224
|
+
|
225
|
+
解決は難しいのでしょうか…?><
|
226
|
+
|
227
|
+
自分でも調べながら気長に待っておりますので、どなたかご回答頂けるとうれしいです。
|
2
検証中、勘違いしていたところが見つかったので、該当する記述を削除しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -17,8 +17,6 @@
|
|
17
17
|
実行可能JARファイルでもアプリケーションを動かしたいのですが
|
18
18
|
|
19
19
|
そのためにどうすればいいのか分からない状況です。
|
20
|
-
|
21
|
-
(実行可能JARで動作するときの仕様に合わせてコードを書き直すのはかなりつらいので…;;)
|
22
20
|
|
23
21
|
|
24
22
|
|
@@ -142,21 +140,7 @@
|
|
142
140
|
|
143
141
|
Eclipseで実行した時と、実行可能JARファイルとしてエクスポート後に実行した時とで、WebEngineの動作が違うらしく
|
144
142
|
|
145
|
-
実行可能JARとして実行すると、Workerが
|
143
|
+
実行可能JARとして実行すると、Workerがほぼ全く「SUCCEEDED」になりません。(SCHEDULEDかRUNNINGになっているようです)
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
また、WebEngineで表示しているドキュメントをテキスト形式にして、出力して確認してみるのですが
|
150
|
-
|
151
|
-
やはり、Eclipseで実行した時に取得して出力したものと、
|
152
|
-
|
153
|
-
実行可能JARファイルで実行した時に取得して出力したものは、若干中身が変わっていて
|
154
|
-
|
155
|
-
webEngine.executeScript("var $el = document.getElementsByClassName(\"☆\"); $el[0].href;");
|
156
|
-
|
157
|
-
のところで
|
158
|
-
|
159
|
-
Eclipseでは取れていたURLが、実行可能JARとしてエクスポートすると、取れなくなってしまいました。
|
160
144
|
|
161
145
|
これを何とか、Eclipseで実行していたときと同じような動作にしたいのです。
|
162
146
|
|
@@ -179,8 +163,6 @@
|
|
179
163
|
progressTest.setVisible(false);
|
180
164
|
|
181
165
|
if (webEngine.getLocation().equals("http://○○○○")) {
|
182
|
-
|
183
|
-
CommonMethod.logOutput(CommonMethod.docRead(webEngine));
|
184
166
|
|
185
167
|
if ((boolean) webEngine.executeScript(
|
186
168
|
|
@@ -207,45 +189,3 @@
|
|
207
189
|
…
|
208
190
|
|
209
191
|
```
|
210
|
-
|
211
|
-
CommonMethod.logOutput(CommonMethod.docRead(webEngine));の部分ですが、
|
212
|
-
|
213
|
-
以下のメソッドで、現在WebEngineで表示しているドキュメントをテキストで取得しておき
|
214
|
-
|
215
|
-
アプリケーション終了時に、txtファイルとして出力するという処理を行ってます。
|
216
|
-
|
217
|
-
```Java
|
218
|
-
|
219
|
-
public static String docRead(WebEngine webEngine) {
|
220
|
-
|
221
|
-
String xml = null;
|
222
|
-
|
223
|
-
try {
|
224
|
-
|
225
|
-
org.w3c.dom.Document doc = webEngine.getDocument();
|
226
|
-
|
227
|
-
StringWriter sw = new StringWriter();
|
228
|
-
|
229
|
-
TransformerFactory tfactory = TransformerFactory.newInstance();
|
230
|
-
|
231
|
-
Transformer transformer = tfactory.newTransformer();
|
232
|
-
|
233
|
-
transformer.setOutputProperty("encoding", "Shift_JIS");
|
234
|
-
|
235
|
-
transformer.transform(new DOMSource(doc), new StreamResult(sw));
|
236
|
-
|
237
|
-
xml = sw.toString();
|
238
|
-
|
239
|
-
return xml;
|
240
|
-
|
241
|
-
} catch (TransformerException e) {
|
242
|
-
|
243
|
-
e.printStackTrace();
|
244
|
-
|
245
|
-
return null;
|
246
|
-
|
247
|
-
}
|
248
|
-
|
249
|
-
}
|
250
|
-
|
251
|
-
```
|
1
記述に間違いがありました;;
test
CHANGED
File without changes
|
test
CHANGED
@@ -142,7 +142,7 @@
|
|
142
142
|
|
143
143
|
Eclipseで実行した時と、実行可能JARファイルとしてエクスポート後に実行した時とで、WebEngineの動作が違うらしく
|
144
144
|
|
145
|
-
実行可能JARとして実行すると、Workerが「SUCCEEDED」になりません。(SCHEDULEDかRUNNINGになっているようです)
|
145
|
+
実行可能JARとして実行すると、Workerがなかなか「SUCCEEDED」になりません。(SCHEDULEDかRUNNINGになっているようです)
|
146
146
|
|
147
147
|
|
148
148
|
|