質問編集履歴

3

WebEngineのUserAgentについて、気づいた点を追記しました。

2017/07/04 06:12

投稿

serona
serona

スコア25

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

検証中、勘違いしていたところが見つかったので、該当する記述を削除しました。

2017/07/04 06:12

投稿

serona
serona

スコア25

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がなかなか「SUCCEEDED」になりません。(SCHEDULEDかRUNNINGになっているようです)
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

記述に間違いがありました;;

2017/06/28 07:54

投稿

serona
serona

スコア25

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