I recently inherited a huge webapp, which is a combination of JSP, Javascript, and Java. It only works on IE because of how it was encoded using the xml data of the islands and other things that prevent smooth operation in other browsers. Everything was fine until a few days when Windows 7 mailboxes were deployed to multiple users in which IE9 / 10 has problems with some of the javascript in the application. For example, the next data island is a snippet from my html page.
<xml id = "underlyingdata" ondatasetcomplete="window.dialogArguments.parent.repopulateDropDown(this, underlyingdd)"> </xml> <xml id="termdata" ondatasetcomplete="window.dialogArguments.parent.repopulateDropDown(this, termdd)"> </xml>
There is another line of code on this page.
window.dialogArguments.parent.request(underlyingdata, "CONTRACT.LIST.WB", "PULP AND PAPER|" + instrumentdd.options[instrumentdd.selectedIndex].text);
which calls a function that looks like this
function request(xmldataisland, requestmethod, parameters { var screwcache=Math.round(Math.random()*10000); xmldataisland.value=null; xmldataisland.load("/webaccess/Request?sessionid=" + sessionid + "&request=" + requestmethod + "¶meters=" + parameters+"&screwcache="+screwcache); }
This does not work in IE9 / 10 with the error that "load" is not a valid method (Script error 438) on the "xmldataisland" object, whereas it works fine in IE 5 through IE 8.
I believe that the xmldataisland object in the above function is of type XMLDocument. Why doesn't the boot method work? What is the workaround for this? I read and hear from many sources that using data islands is a terrible idea. What would be a suitable alternative for this in this case?
source share