1 Reply Latest reply on Apr 10, 2010 7:15 AM by Ralph Soika

    JavaScript Problem within 3.3.3 - "B.selectNodes is not a function"

    Ralph Soika Apprentice

      Hi,

       

      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

        • 1. Re: JavaScript Problem within 3.3.3 - "B.selectNodes is not a function"
          Ralph Soika Apprentice

          this is the missing web.xml from my posting before:

           

          ...
              <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>
          ....