HTML链接到本地​​网络或域名

时间:2015-08-06 03:40:23

标签: html hyperlink href

在我的网页中,我想链接到本地​​网络中的其他网络服务器。 当我在本地网络时,我使用<a href="192.168.1.111:8080/index.jsp">来执行此操作。但是,当我访问本地网络之外的网站时,我需要使用域名。 <a href="mydomain.com:8080/index.jsp">

如果我要从LAN和WAN访问它,我该如何在同一代码页面中执行此操作。

2 个答案:

答案 0 :(得分:1)

好吧,如果它是一个选项,避免这个问题的最简单方法是使用相对链接。例如,如果您要链接到同一网站上的其他网页,那么您的链接将始终有效,如果它类似于“../ directory / some-web-page.html”而非完整与http包括链接。

否则,如果您链​​接到一个完全不同的站点,您可以使用非常简单的JQuery ajax请求检查您的页面是否存在于本地服务器上。如果它不存在,则假设您未登录到同一网络并插入远程域名。

As discussed here,您的简单ajax请求只能获取本地托管页面的HEAD,这样您就不会获取太多数据,只能确认它是否存在。你的代码可能是这样的:

$( document ).ready(function(){
    $.ajax({
        url: 'path/to/your-file.html',
        type: 'HEAD',
        success: function() {
            // page exists
            // replace the href attribute with local host link
            document.getElementById('your-link').setAttribute('href', 'path/to/your-file.html');
        },
        error: function() {
            // page does not exist
            // do nothing, so your link sends user to remote site
        }
    });

});

然后,在您的HTML中,只需包含指向您的远程网站的链接,如下所示:

<a id="your-link" href="yourremotesite.com">This is a link</a>

这应该适用于本地和远程服务器,而无需更改代码。

修改

我不得不跳下床,因为另一个答案只是在唠叨我......

您还可以尝试访问 window.location.host window.location.hostname 并在if语句中对其进行测试,以确定您的网页是否在本地主机或远程服务器。

无论如何,我希望其中一个解决方案有所帮助。晚安,祝你好运!

答案 1 :(得分:0)

HTML:

str[0] = 'Y'; //No compiler error, undefined behavior

的javascript:

<a href="" id="link">link</a>