我有像
这样的代码res = doc.evalute(xpathExpr,doc,
function(prefix) {return namespaces[prefix] || null;},
XPathResult.ANY_TYPE,null );
这里doc是DOM文档节点
当我像这样运行循环时
for(i in doc) alert(i);
它给出了评估方法
但是当我尝试在dom节点上使用此方法时,它给出了类似
的错误未定义xpathResult ...
我在android浏览器中工作
提前感谢....
答案 0 :(得分:2)
XPathResult.ANY_TYPE
不能保证DOM Level 3 XPath XPathResult
接口实际上会被表示为window
成员XPathResult
。事实上,没有任何DOM接口被指定为window
中的构造函数。在大多数非IE浏览器中,很多都是。但Android的浏览器似乎不支持evaluate
上的HTMLDocument
;我猜这就是为什么它不提供XPathResult
。
因此,如果您想获得像ANY_TYPE
这样的静态成员,唯一可行的方法就是拥有该类的实例,并从中访问.ANY_TYPE
。由于此时您还没有XPathResult,因此您最好只说0
。
答案 1 :(得分:0)
尝试使用Components.interfaces.nsIDOMXPathResult
代替XPathResult
。