-
15. IE9 richfaces 3.3.3.Final
Martin Paul Mar 17, 2011 10:11 AM (in response to Kenneth Christensen)Thanks for your answers.
@Kenneth:
The problem is, that the auto rendered richfaces tags will be rendered right after the starting <head> tag or directly before the first <meta ...> tag (I dont know exactly). But a fact is: X-UA-Compatible is not accepted by the IE then (it has to be the first meta tag)! So we would have to implement a filter for all of our applications which outputs the X-UA-Compatible as http header. It is not the best solution, but I have no choice if richfaces 3.3.3 will not be fixed within a few weeks...
I just wanted to ask wich decision you met on 15.03. at the team meeting.
Thanks,
Martin
-
16. IE9 richfaces 3.3.3.Final
Kenneth Christensen Mar 17, 2011 10:23 AM (in response to Martin Paul)Hi Martin,
I have tested it and our app is running in production with the mention meta tag and everything works fine in our app.
But as you mention, you can implement a filter which adds it to the http header.
But as I said previous the best solution is still RichFaces 3 to be fixed.
-
17. Re: IE9 richfaces 3.3.3.Final
Nick Belaevski Mar 17, 2011 2:20 PM (in response to Martin Paul)Martin Paul wrote:
I just wanted to ask wich decision you met on 15.03. at the team meeting.
Hi Martin,
As said in http://community.jboss.org/wiki/RichFacesTeamMeetingMinutes3-15-2011, we are going to accept users' patches and review them, then 3.3.4 release will become possible if several conditions will be true. Currently we are very busy working on gettting out RichFaces 4.0.0.Final.
-
18. IE9 richfaces 3.3.3.Final
Sverker Abrahamsson Apr 3, 2011 3:02 PM (in response to Nick Belaevski)The suggested changes to AJAX.js in this thread did not solve the issue for me, even worse it cause problems with IE8 and Firefox.
Neither did adding the meta tag work, but the filter solution worked fine.
-
19. IE9 richfaces 3.3.3.Final
Oleg Golitsin Apr 3, 2011 4:38 PM (in response to Sverker Abrahamsson)Try changes suggested in https://issues.jboss.org/browse/RF-9485 as sarissa.js patch.
AJAX.js in this case should have one new line after line 65:
Sarissa._SARISSA_IS_IE9 = Sarissa._SARISSA_IS_IE && (parseFloat(navigator.appVersion.substring(navigator.appVersion.indexOf("MSIE")+5))) >= 9;
changes on line 462:
if(!window.DOMParser || Sarissa._SARISSA_IS_IE9){
changes on line 614:
if((!window.XMLSerializer || Sarissa._SARISSA_IS_IE9) && Sarissa.getDomDocument && Sarissa.getDomDocument("","foo", null).xml){
Suggested fix should work.
-
20. IE9 richfaces 3.3.3.Final
thematt May 20, 2011 6:18 AM (in response to Oleg Golitsin)Hello,
can everybody please explain the correct solution for fix the problem with IE 9.
I tried the solution of Oleg Golitsin, but they do not work for me .
I have changed the ajax.js (insert new line after 65, changes on line 462 and 614).
I have to do something else?
Thank you all
-
21. IE9 richfaces 3.3.3.Final
Tom Goring May 20, 2011 7:01 AM (in response to thematt)Hi,
I went with the header fix in a filter....
if (httpServletRequest.getRequestURI().endsWith(".seam")) {
if (browserDetector.getBrowserName().equals(BrowserDetector.MSIE) && browserDetector.getBrowserVersion()>=9) {
httpServletResponse.setHeader("X-UA-Compatible", "IE=EmulateIE8");
}
}
Still waiting for a proper fix to the richfaces 3.3.x stream
Hope this helps.
-
22. Re: IE9 richfaces 3.3.3.Final
Ioana Iacob Jul 20, 2011 12:00 PM (in response to Tom Goring)Me too, filter, and the changes in AJAX.js. But then I got the following error:
java.lang.IllegalArgumentException: ContentTypeList does not contain a supported content type: text/css
at org.apache.myfaces.shared_impl.renderkit.html.HtmlRendererUtils.selectContentType(HtmlRendererUtils.java:1685)
Any idea how to fix this? The richfaces components css does not load.
Thank you,
Ioana.
-
23. Re: IE9 richfaces 3.3.3.Final
niccolas Costa Aug 23, 2011 10:08 AM (in response to Tom Goring)Olá Galera achei a solução para esse problema
Colocar essa função
function getInternetExplorerVersion()
// Returns the version of Windows Internet Explorer or a -1
// (indicating the use of another browser).
{
var rv = -1; // Return value assumes failure.
if (navigator.appName == 'Microsoft Internet Explorer')
{
var ua = navigator.userAgent;
var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
if (re.exec(ua) != null)
rv = parseFloat( RegExp.$1 );
}else{
return -1;
}
return rv;
}
var ver = getInternetExplorerVersion();
no arquivo AJAX.js que fica dentro da lib richfaces-impl-3.1.3.GA ou superior isso funciona para todas as versões só para deixar claro
achar a linha que tem essa validação if(window.XMLSerializer && Sarissa.getDomDocument && Sarissa.getDomDocument("","foo", null).xml) no caso da versao richfaces-impl-3.1.3.GA fica na linha 539 por ali e na versão 3.3.3.Final fica na linha 614 mais ou menos. Ao achar a linha colar encima esse trecho de codigo
if(ver >= 9.0){
if(window.XMLSerializer && Sarissa.getDomDocument && Sarissa.getDomDocument("","foo", null).xml){
/**
* Utility class to serialize DOM Node objects to XML strings
* @constructor
*/
XMLSerializer = function(){};
/**
* Serialize the given DOM Node to an XML string
* @param oNode the DOM Node to serialize
*/
XMLSerializer.prototype.serializeToString = function(oNode) {
return oNode.xml;
};
}
}else{
if(!window.XMLSerializer && Sarissa.getDomDocument && Sarissa.getDomDocument("","foo", null).xml){
/**
* Utility class to serialize DOM Node objects to XML strings
* @constructor
*/
XMLSerializer = function(){};
/**
* Serialize the given DOM Node to an XML string
* @param oNode the DOM Node to serialize
*/
XMLSerializer.prototype.serializeToString = function(oNode) {
return oNode.xml;
};
}
}
depois ele ainda vai tentar escrever algo no log de erro do browser mais isso não interfere no funcionamento.
-
24. Re: IE9 richfaces 3.3.3.Final
kevin 2 Aug 23, 2011 12:11 PM (in response to Tom Goring)Hi,
I'm also very interested in a support for IE9, is there any news about a 3.3.4 version ?
-
25. Re: IE9 richfaces 3.3.3.Final
niccolas Costa Aug 23, 2011 12:25 PM (in response to Tom Goring)hi,
I did not get to look this much believe that the same solution to work. -
26. Re: IE9 richfaces 3.3.3.Final
Ilya Shaikovsky Aug 23, 2011 10:57 PM (in response to kevin 2)3.3.4 has no releases planned. so use meta to turn IE8 mode on. And/or send patches for issues you get resolved to get them applied in new snapshots.
-
27. Re: IE9 richfaces 3.3.3.Final
Luis Cañizares Aug 30, 2011 9:58 AM (in response to Tom Goring)There's a big problem about this. Some of us just can't migrate from RichFaces 3.3.x to 4 in the short term. I suggest to release RF 3.3.4 as an intermediate step in the path to upgrade to JSF 2.0 and RF 4.
The clients using IE9 are increasing day by day and so does the complaints
-
28. Re: IE9 richfaces 3.3.3.Final
anon137564 Nov 28, 2011 3:22 AM (in response to Tom Goring)There is another solution for this problem: It is possible to implement a browser sniffer and tell the Sarissa library to use its own XMLSerializer when Internet Explorer 9 is detected.
The following code implements the browser sniffing through jQuery. There are probably lots of other ways to do that.
if (jQuery.browser.msie && jQuery.browser.version == 9) {
window.XMLSerializer = function() {};
window.XMLSerializer.prototype.serializeToString = function(oNode) {return oNode.xml;
};
}The relevant code piece is from Visualforce AJAX and Internet Explorer 9 Error (and Fixes) [UPDATED].
There are still some JavaScript errors on IE9 but they don't affect functionality and only seem to concern logging.
We're using this approach since we're in a portal environment and can't modify HTTP headers or insert the first
<meta>
tag on the page. -
29. Re: IE9 richfaces 3.3.3.Final
Brett Williamson Jan 2, 2012 8:17 PM (in response to Tom Goring)We have multiple problems with richfaces on IE9. Tried the emulation, it does not work for us. The page will only load correctly once the "browser Mode" is set using the F12 tools. Browser mode cannot be forced using http headers. This has left us in a VERY difficult situation in a production environment. We dont have time to try and port to JSF 2, RF4, and the risk is just too high. Please could the richfaces team help out in some way here. Have tried all the suggested javascript solutions with no success.
Thanks.