0

ページに表示されるいくつかの要素の値を (DOM の変更によって) 変更する小さな Greasemonkey スクリプトを作成しようとしています。

私はただの Greasemonkey ユーザーであり、JavaScript の経験はありません。このエラーが発生します: the expression is not a legal expression.(行: 結果 =...)

また、修正が必要なエラーが他にあるかどうかも知りたいです。

これが私のスクリプトです:

// ==UserScript==
// @name        myscript
// @namespace   http://www.google.com
// @include     http://mysite/
// @version     1
// @grant       GM_addStyle
// ==/UserScript==

function waitForKeyElements (selectorTxt, actionFunction) {
    if (getElementByXPath(selectorTxt) == null) {
       var timeControl = setInterval (function () {
                    waitForKeyElements (selectorTxt, actionFunction);
                },
                300
            );
    } else {
        clearInterval (timeControl);
        actionFunction();
    }
}

var getElementByXPath = function (path) {
  result = document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
  return result.singleNodeValue;
};

function myFunc (jNode) {
    getElementById("foo1").setValue("foo2");
}

waitForKeyElements ("foo3", myFunc);
4

1 に答える 1

1

pathの値が有効な XPath セレクターではないと不平を言っています。私が見る限り、あなたはfoo3タグを意味する値を渡しています<foo3>- おそらくあなたが望むものではありません。//*[@id='foo3']代わりに試してみてください。たとえば、 http ://ejohn.org/blog/xpath-css-selectors/ を参照して、xpath の例をさらに確認してください。

于 2013-04-19T10:02:33.740 に答える