【问题标题】:HTML redirect to different URL based on server availabilityHTML 根据服务器可用性重定向到不同的 URL
【发布时间】:2016-04-08 11:38:44
【问题描述】:

我们公司工作站的默认主页是http://intranet,这是我们按组策略设置的内部 SharePoint 网站。现在,如果用户在离开现场时试图在笔记本电脑上打开 IE,他们(显然)会受到“页面无法显示”错误的欢迎。这会导致我们不太成熟的用户感到困惑,即使他们的互联网连接没有问题,他们也会打电话给我们的服务台。

我想做的是将默认主页设置为本地 .html 文件,如果内部 URL 无法访问,该文件将使用 HTTP 重定向将浏览器转发到我们的公共网站。

这可能吗?

【问题讨论】:

  • 这应该是可能的,但可能很烦人。从理论上讲,您必须对内部站点执行后台调用并查看它是否超时。如果是这样,那就去公共场所。在此期间,每次启动时用户都会盯着空白或请等待屏幕。

标签: html http internet-explorer redirect web


【解决方案1】:

很多时候,看似容易实施的事情往往会变得非常具有挑战性。在这种情况下,JavaScript 禁止跨域调用以采取安全措施,因此 XMLHttpRequest 不是一个选项。

您的最佳选择似乎是实施此处讨论的解决方案:Test url availability with javascript

我在 Chrome 和 IE 中做了一些快速测试,这段代码在两者中都运行良好。 (IE 确实抱怨在本地页面上运行脚本,但不管解决方案如何,这都是一样的。)

<html>
<head></head>
<body>
<script>
function checkServerStatus(url)
{
    var script = document.body.appendChild(document.createElement("script"));
    script.onload = function()
    {
        alert( url + " is online.");
    };
    script.onerror = function()
    {
        alert( url + " is offline.");
	window.location.replace("http://google.com");
    };
    script.src = url;
}
checkServerStatus("http://google.com");
checkServerStatus("http://intranet");
</script>
</body>

这是讨论此解决方案的另一个链接:https://petermolnar.eu/test-site-javascript/

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2013-11-27
    • 2016-08-16
    • 1970-01-01
    • 1970-01-01
    • 2014-08-05
    • 2014-04-01
    • 2012-09-16
    • 2014-09-04
    • 2011-07-11
    相关资源
    最近更新 更多