我發展我第一次的Greasemonkey腳本(試圖編輯和添加頁面內容到一個特定的網站),由於某種原因,它拒絕超出一個while
循環工作..如:循環中的GreaseMonkey
var anchorTag = window.document.getElementsByTagName('a');
var anchorTagNumber = window.document.getElementsByTagName('a').length;
..
..
i = 0
j = 0;
function collectId(i,link) {
linkArray[j] = new Array(2);
linkArray[j][0] = i;
linkArray[j][1] = link;
j++;
}
while(i <= anchorTagNumber)
{
testHref = anchorTag[i].href;
testHTML = anchorTag[i].innerHTML;
patHref = /some regex/;
patCaptureId = /some regex/;
testId = patCaptureId.exec(testHref);
patHTML = /some regex/;
patHTML2 = /some regex/;
patHTML3 = /some regex/;
if(patHref.test(testHref) && !patHTML.test(testHTML) && !patHTML2.test(testHTML))
{
linkId = testId[1];
collectId(i,linkId);
}
i++;
}
此循環結束後的任何內容都拒絕工作。即使是一個簡單的alert
似乎並沒有執行。我有另一個while
循環具有類似的結構,如果我先放一個,它會執行,而這個不會。有任何想法嗎 ?提前致謝 !
您是否嘗試在循環中添加一些警報以查看它在哪個點失敗?副手,我會猜測這位執行官。 – 2010-11-05 07:57:18
也可以嘗試使用Firefox並使用錯誤控制檯,除非Chrome具有相同的功能。 – 2010-11-05 07:58:54
爲什麼你會得到錨定標記兩次?只需使用'var anchorTagNumber = anchorTag.length'來提高效率。並找出什麼問題可能添加'console.log(我,anchorTagNumber)'到while循環。 – 2010-11-05 09:02:09