JavaScript Problem within 3.3.3 - "B.selectNodes is not a function"
rsoika Apr 10, 2010 7:14 AMHi,
I have a strange problem with my RichFaces Web app after I upgraded from Version 3.2.1 to RichFaces 3.3.3CR1 (also 3.3.2.GA).
The application seems to work well. So on a first look there seems to be no error.
But when I run the JavaScript Debugger from my FireBug in Firefox 3.5.9 (Linux) I receive all times a Script error like the following one:
(The error differs but it is always a "... is not a function" error)
B.selectNodes is not a function
CODE Line 7010 (framework.pack.js.jsf):
....
if(!window._RICH_FACES_SKINNING_ADDED_TO_BODY){var getElementByTagName=function(B,A){var E;
try{E=B.selectNodes('.//*[local-name()="'+A+'"]')
}catch(C){try{E=B.getElementsByTagName(A)
}catch(D){}}return E
};
.....
I think you can reproduce this error because we are running an open internet application. Try:
http://www.shareyourwork.org/syw/
When I switch back to RichFaces Version 3.2.1.GA the error is gone.
From my web.xml configuration I tried different settings. Currently I am running with the following settings
web.xml
...
<context-param>
<param-name>org.ajax4jsf.SKIN</param-name>
<param-value> #{skinMB.skin}</param-value>
</context-param>
<context-param>
<param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
<param-value>com.sun.facelets.FaceletViewHandler</param-value>
</context-param>
<context-param>
<param-name>org.ajax4jsf.xmlparser.ORDER</param-name>
<param-value>TIDY</param-value>
<!-- NEKO -->
</context-param>
<context-param>
<param-name>org.richfaces.CONTROL_SKINNING</param-name>
<param-value>enable</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.LoadScriptStrategy</param-name>
<param-value>ALL</param-value>
</context-param>
<filter>
<display-name>Ajax4jsf Filter</display-name>
<filter-name>ajax4jsf</filter-name>
<filter-class>org.ajax4jsf.Filter</filter-class>
<init-param>
<param-name>createTempFiles</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>maxRequestSize</param-name>
<param-value>100000</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>ajax4jsf</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
....
Has anybody seen similar problems?
Should I provide you with more informations?
thanks for help
ralph