我正在使用jsonp来执行跨域彗星请求,而“加载”状态真的很烦人。
有没有办法用javascript来抑制它?
对于那些不熟悉jsonp的人来说,它基本上会注入一个脚本标记,除了在我的情况下,我将请求挂在我的服务器上,直到稍后才返回请求。
在此期间,浏览器会将我的请求视为“加载”状态。
我使用的是:http://code.google.com/p/jquery-jsonp/
提前致谢!
答案 0 :(得分:2)
如果您开始第一次请求 页面加载完成后,您应该可以避免加载指示符。
$(function () {
setTimeout(function () {
$.jsonp(...)
}, 1000);
});
答案 1 :(得分:1)
据我所知,无论你为何拥有它,都无法使用Javascript来抑制加载状态。
但是,跨域COMET至少有一种替代方案,它不会首先触发加载状态。 XMLHttpRequest没有设置加载状态,根据我的测试,支持跨域XHR的CORS(跨源资源共享)规范得到了很好的支持。
基本上,支持如下:(根据我正在研究的项目的浏览器文档和我自己的测试的混合)
完全支持:
未经测试,但应得到完全支持:
有限的支持:
明显不受支持:
这不是一个完整的列表,但它是每个浏览器都有用户脚本支持我可以找到测试。如果你需要,我已经花时间在Arora上引用了我的资料。
我能想到的最简单的解决方案是CORS wikipedia page,然后再回到JSONP,以便使用现代浏览器的人获得完美的体验,使用旧版本的人看到加载状态是不可避免的副作用
这是test for CORS上的MDC页面。