单击,如果服务器运行缓慢,将重定向到另一个URL?

问题描述 投票:0回答:5

如果第一个URL的回答较慢(当他单击链接时,是否有可能(在Javascript,ajax等客户端站点上)将用户重定向到另一个URL?

A href = URL1,但如果1秒钟后服务器1没有回答,请重定向到URL2(另一个服务器)

[我当时在考虑onclick事件:重定向到URL1,计时器,重定向到URL2,但是如果服务器1没有响应,则之后的代码将不会执行...

或者然后使用AJAX,但我不知道如何

案件;单击页面(a href = urltracking),将urltracking重定向到URL2,但是urltracking服务器可能很慢...

javascript ajax performance xmlhttprequest dom-events
5个回答
0
投票

恐怕这种方式是不可能的。如果目标URL位于您的域中,则可以通过虚拟AJAX调用的“超时检查”来衡量响应时间。类似于“发送测试GET,如果服务器在XX秒内没有响应,则将URL重写到备份站点”。但这不适合一般使用。


0
投票

这两个网站都是您自己的吗?也许您应该购买一个负载均衡器。本质上,这是一台服务器,它监视两个Web服务器的性能并将请求重定向到最不繁忙的服务器。


0
投票

[我总是尽量避免第三方网站会降低我自己网站的速度。

也许您可以以某种异步形式进行呼叫?在DOM ready事件中发生了一部分javascript火灾,导致调用了跟踪服务器,例如(在jQuery中):

$(function(){
    var tracker = new Image();
    tracker.src = "http://tracker.com/path/to/tracker
});

其他可以使用的方法只是一个普通的旧标签或一个,等等。关键是要在您的页面之后而不是页面之前加载。跟踪服务器永远不会知道区别。


0
投票

为更好的服务器支付更多的钱,在极端情况下使用负载平衡器。您永远不需要做类似此客户端的操作。


0
投票

您可以使用javascript的setTimeout函数。

setTimeout("function()",1000);

此处需要编写用于重定向的代码。

另请参见this question以获取完整参考。

如果我错了,请纠正我。

© www.soinside.com 2019 - 2024. All rights reserved.