3

I note that I cannot be launched on web IE 11 .. I know that the useragent for IE11 is Trident not MSIE . so I suppose that the reason why I got always notification to install java even its already installed .. but I cannot find temporarily solution for that as guys solve this issue by updating deployJava.js for webstart and by adding "trident" with "msie"...

just note that only windows 7 can install IE11 or its bundled with Windows 8.1 .. you cannot install IE11 or update it to IE11 on windows 8.

again and briefly my questions are :

1- where JavaFX app detect browser agent?

2- is it possible to the modify package that is responsible for that and include jar to project ?

any idea is welcomed ..

Maher Abuthraa
  • 17,493
  • 11
  • 81
  • 103

2 Answers2

2

Internet Explorer 11 is not a supported configuration for JavaFX in JRE 7.

You can request support for Internet Explorer 11 by filing a feature request in the JavaFX issue tracker. You can link back to this question in your feature request.

I guess what you are saying in your question is that the information Microsoft place in the UserAgent string for IE11 has changed from previous versions and the way to understand the UserAgent string encoded information has changed in IE11 compared to earlier browser releases. These changes mean that the current JavaFX deployment code does not correctly detect it is running in an IE11 environment and perform appropriate operations to enable JavaFX applications to execute in IE11.

I believe that JavaFX packaging code uses a dtjava.js script to detect the target browser. For JavaFX 8 this detection routine is (I believe) the JavaScript detectEnv() method. What you might need to do to get IE11 compatibility is to host your own deployment scripts and replace the dtjava.js in your local deployment scripts with a modified version you have created which is IE 11 compatible (detailed instructions on how to do this are outside the scope of this answer). Even if you do get the dtjava.js script to correctly identify and execute logic for IE 11, there may still be other issues running JavaFX in IE 11 (due to it not being currently a supported deployment platform).

Community
  • 1
  • 1
jewelsea
  • 150,031
  • 14
  • 366
  • 406
2

I've made some modifications in dtjava.js and got it to work in IE11

In my case I'm using dtjava.js only for embedding an applet not based in JavaFX, so probably these modifications are not enough to make a JavaFX application run.

I changed the IE detection rule from

ie = isDef(window.execScript);

to

ie = /trident/.test(u);

in detectEnv()

and

if (isDef(d.addEventListener)) {
    d.addEventListener("DOMContentLoaded",
    invokeCallbacks, false);
}
if (ua.ie && ua.win) {

with

if (isDef(d.addEventListener)) {
    d.addEventListener("DOMContentLoaded",
    invokeCallbacks, false);
}
else if (isDef(d.attachEvent)) {

in init() function.

Of course, these are hacky changes not very tested (only Explorer 10, 11 and latest FIrefox and Chrome). Follow at your own risk...

Juan Calero
  • 4,124
  • 5
  • 31
  • 45