Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.0.1-core
-
None
-
None
-
Windows XP/7, IE 8/9, Tomcat 6.0.30
Description
After setting security level of zone "Internet" to "High" in "Internet Options/Security" of Internet Explorer 8 or 9 PPR requests don't function correctly: first PPR request of a page is successful, but all subsequent requests of same page don't function. I don't use JSF AJAX requests but good old Trinidad PPR (org.apache.myfaces.trinidadinternal.PPR_OVER_JSF_AJAX in web.xml is off).
Strange is that although my server is added to "Trusted Sites", which should overwrite IE's security settings of zone "Internet", it seems that this overwriting isn't done completely. (That it does it party is apparent because JavaScript in general functions.)
I have debugged a little and found out following:
When processing the answer of the first PPR request In TrPage._handlePprResponseFragment the statement "targetNode.parentNode.replaceChild(sourceNode, targetNode)" seems to cause that all subsequent PPR requests don't start processing in IE: a breakpoint in _submitPartialChange or formSubmit isn't reached. Same happens if I change the code to explicitly add the new node and remove to old one. Adding a new node to the DOM tree seems to be the critical point.
In a test I have replaced "targetNode.parentNode.replaceChild(sourceNode, targetNode)" by "targetNode.outerHTML = sourceNode.outerHTML" if browser is IE, and this seems to fix the issue for my webapp.
Wouldn't it be best to do this change (for IE) in Trinidad's JavaScript code? Or do you know another solution for this issue?
Regards,
Volker