我在這個greasemonkey腳本的大部分行中都遇到未定義的錯誤。我已經在Chrome和Firefox上測試過,兩者的結果都一樣。我無法弄清楚爲什麼。我對JavaScript有點新,但是我覺得這很基本,我只是缺少一些東西。Greasemonkey未定義的JS錯誤
看了一些相關頁面後,我不確定這個Greasemonkey有關。這很可能是一個通用的JavaScript問題。那麼這是整個劇本。
// ==UserScript==
// @name AutoHotkey Forum Line Numberer
// @namespace http://apps.aboutscript.com/gm/
// @description Add line numbers to AutoHotkey forum code boxes
// @icon http://apps.aboutscript.com/gm/linenumbers/autohotkey.png
// @include http://www.autohotkey.com/forum/viewtopic.php*
// @include http://www.autohotkey.com/forum/posting.php
// @version 0.5
// ==/UserScript==
var linenumbers = {
count_lines: function(text) {
var lines = text.split('\n');
return (lines.length);
},
make_div: function(max) {
var contents = "";
for (i=1; i<=max; i++) {
contents += '<span style="margin:0 auto 0 auto; ';
if (i%2) {
contents += 'color:#FFAAAA; '
} else {
contents += 'color:#FFCCCC; '
}
contents += '">' + i + '</span><br>';
}
if (max <= 15) {
contents = '<div style="min-width:25px; height:200px; overflow- y:auto;">' + contents + '</div>';
} else {
contents = '<div>' + contents + '</div>';
}
return contents;
},
add_numbers: function() {
var code_tables = document.getElementsByClassName('code');
for (i in code_tables) {
var td = code_tables[i];
var div = td.firstChild;
var codetext = div.innerText;
var total_count = this.count_lines(codetext);
var to_inject = make_div(total_count);
var newtd = document.createElement('td');
newtd.innerHTML = to_inject;
document.body.insertBefore(newtd, td);
}
}
};
linenumbers.add_numbers();
所以我的問題是:什麼問題?我該如何解決它?我怎樣才能在將來防止它?
感謝,
弗蘭基(解析)
順便說一句,我認爲「Greasemonkey的」標籤適用,我很驚訝它不存在。如果您有1500+代表,請添加它。
這是greasemonkey:p – serg