IO未在文件中定义,但在控制台中定义

时间:2015-03-27 15:32:24

标签: javascript jquery socket.io

我觉得这个问题真的很愚蠢,但我正在尝试加载一些额外的功能,并且在使用注入的JS文件的过程中。这个注入的文件如下所示:

(function() {
    var script = document.createElement("script")
    script.type = "text/javascript";

    script.onload = function () {
        setTimeout(function() {
            console.log(io);
            var socket = io.connect('https://localhost:1200');
            socket.emit('test', 'test');
        }, 5000);
    };

    script.src = 'https://localhost:1200/socket.io/socket.io.js';
    document.getElementsByTagName("head")[0].appendChild(script);
})();

当我刷新页面并查看控制台时,我看到的唯一错误信息是:Uncaught ReferenceError: io is not defined这很奇怪,因为当我执行这段代码时:

console.log(io);
var socket = io.connect('https://localhost:1200');
socket.emit('test', 'test');

在Chrome的控制台中,它只是有效。有人可以向我指出我做错了什么,因为我现在开始真正脱掉头发了。

0 个答案:

没有答案