-
Bug
-
Resolution: Fixed
-
P2
-
8
-
windows_7
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8144439 | 9 | Vivek Rao | P2 | Resolved | Fixed |
Whoever works on this needs to have both IE10 and IE11.
The following function:
function testUsingActiveX(version) {
//var objectName = 'JavaWebStart.isInstalled.' + version + '.0';
var objectName = 'JavaWebStart.isInstalled';
// we need the typeof check here for this to run on FF/Chrome
// the check needs to be in place here - cannot even pass ActiveXObject
// as arg to another function
if (typeof ActiveXObject == 'undefined' || !ActiveXObject) {
log('[testUsingActiveX()] Browser claims to be IE, but no ActiveXObject object?');
return false;
}
try {
return (new ActiveXObject(objectName) != null);
} catch (exception) {
return false;
}
}
in dtjava.js (and deployJava.js) does not work under IE11. The behavior of the typeof operator is different for these two web browser platforms. We also don't detect IE11 from what I can tell.
Here is a stack overflow question about the difference between IE10 and IE11:
http://stackoverflow.com/questions/19638981/window-activexobject-difference-in-ie11
Attached is a test.html file as a reduce test case. It isn't complete, but it is a place to start.
Also note that JavaWebStart.isInstalled COM Object is located under Computer\HKEY_CLASSES_ROOT and there is one for each version installed which is they the function takes a version number.
The following function:
function testUsingActiveX(version) {
//var objectName = 'JavaWebStart.isInstalled.' + version + '.0';
var objectName = 'JavaWebStart.isInstalled';
// we need the typeof check here for this to run on FF/Chrome
// the check needs to be in place here - cannot even pass ActiveXObject
// as arg to another function
if (typeof ActiveXObject == 'undefined' || !ActiveXObject) {
log('[testUsingActiveX()] Browser claims to be IE, but no ActiveXObject object?');
return false;
}
try {
return (new ActiveXObject(objectName) != null);
} catch (exception) {
return false;
}
}
in dtjava.js (and deployJava.js) does not work under IE11. The behavior of the typeof operator is different for these two web browser platforms. We also don't detect IE11 from what I can tell.
Here is a stack overflow question about the difference between IE10 and IE11:
http://stackoverflow.com/questions/19638981/window-activexobject-difference-in-ie11
Attached is a test.html file as a reduce test case. It isn't complete, but it is a place to start.
Also note that JavaWebStart.isInstalled COM Object is located under Computer\HKEY_CLASSES_ROOT and there is one for each version installed which is they the function takes a version number.
- backported by
-
JDK-8144439 dtjava.js Has Problems with IE10 and IE11
- Resolved