Skip to main content

AppCenter-Skript liefert statt Elementen jxbrowser.Proxy

Comments

1 comment

  • Zendesk API User
    Author: gockel - 3/21/2012 11:28

    if (mainElement != null) {

        childList = mainElement.getChildNodes();

        for(int i = 0; i < childList.getLength(); i++) {

          nodeHandler.register(childList.item(i), url); //jedes Item ist ein $Proxy93 und kann damit nicht an die register(Element, Node)-Methode weitergegeben werden...

        }

    }

    Das Problem ist hier nicht, dass dort ein Proxy von uns drumliegt, sondern dass sie ungeprüft Objekte vom Typ org.w3c.dom.Node an eine Methode (#register) weitergeben, die nur org.w3c.dom.Element als Parameter erlaubt.

    In Java hätten sie dabei einen Compile-Error erhalten. In Beanshell natürlich nicht.

    So sollte es funktionieren:

    if (mainElement != null) {

        childList = mainElement.getChildNodes();  // liefert NodeList zurück

        for(int i = 0; i < childList.getLength(); i++) {

            childNode = childList.item(i);     // liefert Node zurück

            if (childNode.getNodeType() == Node.ELEMENT_NODE) {

              nodeHandler.register(childNode, url);

          }

        }

    }

    0

Please sign in to leave a comment.