Javascript Greasemonkey未定义JS错误

Javascript Greasemonkey未定义JS错误,javascript,firefox-addon,google-chrome-extension,undefined,Javascript,Firefox Addon,Google Chrome Extension,Undefined,我在这个greasemonkey脚本的大多数行上都出现了未定义的错误。我在Chrome和Firefox上进行了测试,结果都是一样的。我不太明白为什么。我对JavaScript有点陌生,但我觉得这是非常基本的,我只是缺少了一些东西 在看了一些相关的网页后,我不确定这个油腻的漫画是否相关。很可能这是一个通用JavaScript问题。这是整个剧本 // ==UserScript== // @name AutoHotkey Forum Line Numberer // @namespace http:/

我在这个greasemonkey脚本的大多数行上都出现了未定义的错误。我在Chrome和Firefox上进行了测试,结果都是一样的。我不太明白为什么。我对JavaScript有点陌生,但我觉得这是非常基本的,我只是缺少了一些东西

在看了一些相关的网页后,我不确定这个油腻的漫画是否相关。很可能这是一个通用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多名代表,请将其添加。

var to\u inject=make\u divtotal\u count; 你忘了这个。 var to_inject=this.make_divtotal_count

你也没有声明我:

对于代码_表中的i{=>对于代码_表中的var i{

对于i=1;对于var i=1;i