1

我正在使用 Greasemonkey。如果xpathExpression不存在,则整个脚本将停止。

document.evaluate(
    xpathExpression,
    document,
    null,
    XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
    null);

有没有办法阻止它document.evaluate并继续让脚本运行?

错误:
“错误:表达式不是合法表达式。”

4

3 回答 3

2

try/catch当您无法预测错误如何发生时,真的应该将其用作最后的手段。

考虑一下:

if (typeof xpathExpression !== "undefined" && xpathExpression !== "") {
    document.evaluate(
        xpathExpression,
        document,
        null,
        XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
        null);
}
于 2010-12-11T23:28:00.827 回答
1

您可以将其包装在一个try-catch块中:

try {
  document.evaluate(...);
} catch (ex) {
  // something went wrong
}
于 2010-12-11T23:07:20.047 回答
0

实例化变量 xpathExpression 然后你可以使用:

if (xpathExpression)
document.evaluate(...);

不需要 try/catch 块

于 2010-12-12T11:09:53.673 回答