Asp.net mvc 3 使用信号器时,iPhone浏览器会持续加载

Asp.net mvc 3 使用信号器时,iPhone浏览器会持续加载,asp.net-mvc-3,jquery-mobile,signalr,Asp.net Mvc 3,Jquery Mobile,Signalr,我正在寻找开发一个移动网络应用程序,允许两个人互相交谈。为此,我使用MVC3、jquery mobile和Signalr 我的机器上有基本的功能,但当我在iPhone上测试它时,页面显示为持续加载,我想这是由于信号器 有没有人遇到过这个问题,并且知道如何纠正它,或者知道任何其他库,比如Signalr,但它是针对移动设备的 非常感谢,, 迈克 这是指向我的iphone屏幕截图的链接:您需要像这样延迟信号器启动:设置超时('$.connection.hub.start()',2000)您需要像这样延

我正在寻找开发一个移动网络应用程序,允许两个人互相交谈。为此,我使用MVC3、jquery mobile和Signalr

我的机器上有基本的功能,但当我在iPhone上测试它时,页面显示为持续加载,我想这是由于信号器

有没有人遇到过这个问题,并且知道如何纠正它,或者知道任何其他库,比如Signalr,但它是针对移动设备的

非常感谢,, 迈克


这是指向我的iphone屏幕截图的链接:

您需要像这样延迟信号器启动:
设置超时('$.connection.hub.start()',2000)

您需要像这样延迟信号器启动:
设置超时('$.connection.hub.start()',2000)

信号器可能已退回到某个位置,这使得某些浏览器似乎从未完成加载页面。我正在做的项目也有这个问题,但我还没有找到解决办法。如果它不是可以在SignralR中配置的东西,那么您可以查看是否有一个polyfill可以实现这一点。要让任何polyfill在Signal的客户端库中发挥出色可能有点困难,不过…

Signal可能已经退回到了一个让一些浏览器似乎永远无法完成页面加载的状态。我正在做的项目也有这个问题,但我还没有找到解决办法。如果它不是可以在SignralR中配置的东西,那么您可以查看是否有一个polyfill可以实现这一点。要让任何polyfill在signer的客户端库中发挥出色可能有点困难…

$.connection.hub.start().done(函数(){
$.connection.hub.start().done(function () { 
    $("#status").css('background-color', 'green').css('color', 'white').text('Ready'); 
}).fail(function () { 
    $("#status").css('background-color', 'red').css('color', 'white').text('Error connecting'); 
});


<div id="status" style="float: right; background-color: Yellow;">
    Connecting...
</div><i>
$(“#status”).css('background-color','green').css('color','white').text('Ready'); }).fail(函数(){ $(“#status”).css('background-color','red').css('color','white').text('Error connecting'); }); 连接。。。
$.connection.hub.start().done(函数(){
$(“#status”).css('background-color','green').css('color','white').text('Ready');
}).fail(函数(){
$(“#status”).css('background-color','red').css('color','white').text('Error connecting');
});
连接。。。

不幸的是,似乎对我不起作用。使用SignalR 0.5.1I发现延迟必须大于加载页面所需的时间。基本规则似乎是——如果SignalR执行连接时iPhone进度条仍在“加载”,则进度条不会消失。延迟必须足够长,以便在信号器连接之前隐藏进度条。我当前正在搜索一个事件,该事件将让我确定这一点。@Adam将超时值放入PageOnLoad事件+延迟中。这样就可以加载time@RegisteredUser是的,我就是这样做的
$(function(){window.settimeout….})并且它对我的页面不起作用。页面onload将在加载所有HTML时触发,忽略图像和任何其他ajax请求的加载状态。因此,如果您的页面在signarconnect发生时仍在加载ajax请求或图像,那么您的进度条将永远不会消失。我的观点是,仅仅使用页面加载的任意超时是不够的,因为onload事件确实要等到所有东西加载完毕后才触发——不幸的是,HTML/js似乎对我不起作用。使用SignalR 0.5.1I发现延迟必须大于加载页面所需的时间。基本规则似乎是——如果SignalR执行连接时iPhone进度条仍在“加载”,则进度条不会消失。延迟必须足够长,以便在信号器连接之前隐藏进度条。我当前正在搜索一个事件,该事件将让我确定这一点。@Adam将超时值放入PageOnLoad事件+延迟中。这样就可以加载time@RegisteredUser是的,我就是这样做的
$(function(){window.settimeout….})并且它对我的页面不起作用。页面onload将在加载所有HTML时触发,忽略图像和任何其他ajax请求的加载状态。因此,如果您的页面在signarconnect发生时仍在加载ajax请求或图像,那么您的进度条将永远不会消失。我的观点是,仅仅使用页面加载的任意超时是不够的,因为onload事件会等到所有东西加载完毕后才触发——只需HTML/js。