IE JavaScript错误:document.evaluate非法#字符

时间:2012-11-01 08:31:55

标签: javascript xpath bookmarklet document.evaluate

开发此脚本仅支持IE

我有这个:

var result = document.evaluate(xpath, document, null, XPathResult.STRING_TYPE, null);

使用已知的xpath;

xpath是:

id("productTitle")

为什么我收到此错误消息:

Error ! This name may not contain the '#' character:

-->#<--comment

一个简单的工作示例:http://jsfiddle.net/gWpcU/6/

崩溃的示例:http://jsfiddle.net/YkwTM/

1 个答案:

答案 0 :(得分:2)

您在示例文档中收到错误消息的原因是因为xPath正在尝试重新读取文档以在其上执行自己的操作,并且每当它看到"<!"时,脚本解析器都会出错。通过并删除"<!"的所有案例(即<!DOCTYPE html>和所有<!--条评论),可以使页面正常运行。我会把它贴在这里,但答案太长了:所以你可以自己做。

相反,将<!DOCTYPE html>粘贴到您的工作示例中也会导致错误。