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 に答える