Я получаю неопределенные ошибки в большинстве строк в этом скрипте greasemonkey.Я тестировал на Chrome и Firefox, с одинаковыми результатами на обоих.Я не могу понять, почему.Я немного новичок в JavaScript, но чувствую, что это довольно просто, и я что-то упускаю.
Просматривая некоторые связанные страницы, я не уверен, что этот 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+ повторений, добавьте его.