您好我想查看网站的响应时间。这是我的代码,我有一些价值观,但没有显示现实。这些代码有什么问题。它与缓存有关吗?此外,如何显示页面是否退出或不可用。
<script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript">
var start = new Date();
$.ajax ({
url: 'http://www.example.com',
complete : function()
{
alert(new Date() - start)
},
});
</script>
答案 0 :(得分:5)
代码本身很好,假设代码与它检查的代码在同一个源上运行;除非两端(客户端和服务器)都支持并使用can't use ajax cross-origin。
,否则您CORS它可能是缓存,是的,您必须参考浏览器工具(任何体面的浏览器都有网络选项卡或其开发人员工具中的类似工具)才能确定。您还可以通过在cache: false
调用中设置ajax
来禁用缓存(有关详细信息,请参阅ajax
documentation),尽管这是一种合成方式。更好的方法是确保您在此时间使用的任何URL都响应缓存标头,告知浏览器(和代理)不要缓存它。
您可以通过挂钩error
函数并查看它给您的信息来判断该页面是否不存在或“不可用”(无论这意味着什么):
var start = new Date();
$.ajax ({
url: 'http://www.example.com',
error : function(jqxhr, status, ex) {
// Look at status here
},
complete : function()
{
alert(new Date() - start)
},
});
error
的论据也在上面链接的文档中进行了描述。
答案 1 :(得分:2)
由于相同的原始政策,您无法执行此操作。
一个技巧是创建一个图像并测量直到onerror事件发生的时间。
var start = new Date();
var img = new Image();
img.onerror = function() {
alert(new Date() - start);
};
img.src = 'http://www.example.com/';
在网址中附加一个随机数以防止缓存。
答案 2 :(得分:0)
我会使用Firebug或Chrome开发者工具等浏览器扩展来衡量Ajax响应时间。