我觉得这个问题真的很愚蠢,但我正在尝试加载一些额外的功能,并且在使用注入的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的控制台中,它只是有效。有人可以向我指出我做错了什么,因为我现在开始真正脱掉头发了。