Javascript 无法加载资源错误处理
我一直在用socket.io做一些nodeJS测试,并注意到当我不运行nodeJS时,我的客户端出现了错误 当nodeJS未运行时,我在我的客户端控制台.log中收到以下错误:Javascript 无法加载资源错误处理,javascript,node.js,Javascript,Node.js,我一直在用socket.io做一些nodeJS测试,并注意到当我不运行nodeJS时,我的客户端出现了错误 当nodeJS未运行时,我在我的客户端控制台.log中收到以下错误: Failed to load resource socket.io/socket.io.js 我的客户端代码如下所示: <script src = "socket.io/socket.io.js" > < /script> <script> window.onload = func
Failed to load resource socket.io/socket.io.js
我的客户端代码如下所示:
<script src = "socket.io/socket.io.js" > < /script>
<script>
window.onload = function(){
if(typeof io != 'undefined'){
socketio = io.connect("[hidden]:[hidden]");
socketio.on('error', function(err) {
if(err === 'handshake error') {
console.log('handshake error', err);
} else {
console.log('io error', err);
}
});
} else {
console.log('IO not started?');
}
}
</scirpt>
所以我想知道,当nodeJS启动时,什么是最好的预周期检查方法?如果服务器返回500,您可以向nodeJS服务器发送请求。nodejs现在停止了
<script>
var socket = io.connect();
socket.on('connect', function(){
console.log('connected');
//do Something...
})
</script>
如果要检查socket.io.js是否已完成加载,可以尝试使用Require.js
这不是一个优雅的解决方案,但这应该可以解决您的问题-
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script>
$(document).ready(function(){
var connected = 0;
var socket;
var timer = setInterval(function(){
loadScript();
},1000);
function loadScript() {
$.getScript("http://<ip>:<port>/socket.io/socket.io.js")
.done(function( script, textStatus ) {
//console.log( textStatus );
if(!connected) {
socket = io.connect('http://<ip>:<port>');
connected = 1;
clearInterval(timer);
}
});
}
});
</script>
你能用一个基本的例子来扩展你的答案吗…?这个问题是io在socket.io.js加载之前是不存在的,所以它仍然会产生错误。io是在socket.io.js中定义的,所以你必须加载它才能访问io