cho*_*bo2 78 javascript jquery localhost
如果页面加载在我的本地计算机上,我想检查我的javascript.
我想这样做的原因是,当我开发时,我喜欢确保我的服务器端(C#)验证都正常工作.所以我喜欢看到客户端和服务器端都出现错误.
所以当我测试时,我的jquery验证内容中有一个标志,它总是让无效数据通过.这样我就可以一次看到客户端和服务器错误.
但是现在我必须手动去从开发到生产时来回切换.
Uni*_*ron 173
该location.hostname变量为您提供当前主机.这应该足以让您确定您所处的环境.
if (location.hostname === "localhost" || location.hostname === "127.0.0.1")
    alert("It's a local server!");
小智 22
如果在浏览器中启动静态html,例如从file:///C:/Documents and Settings/Administrator/Desktop/检测"localhost"的位置将无效.location.hostname将返回空字符串.所以
if (location.hostname === "localhost" || location.hostname === "127.0.0.1" || location.hostname === "")
    alert("It's a local server!");
仍然不是全部,但可能会有所改进。您现在可以创建域数组并使用.includes
const LOCAL_DOMAINS = ["localhost", "127.0.0.1", ...];
if (LOCAL_DOMAINS.includes(window.location.hostname))
  alert("It's a local server!");
这就是在React 中检查它的方式,注册 service worker,通过检查主机名(包括localhost和IPv6)以及匹配开始以127来检查您是否在 localhost 上的好方法 :
const isLocalhost = Boolean(
    window.location.hostname === 'localhost' ||
    // [::1] is the IPv6 localhost address.
    window.location.hostname === '[::1]' ||
    // 127.0.0.1/8 is considered localhost for IPv4.
    window.location.hostname.match(
        /^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/
    )
);
使用与其他脚本相同的机制的最短形式:
if ( ["localhost", "127.0.0.1", ""].includes(window.location.hostname) ) {
     console.log("It's local host !");
}
这也涵盖了一些常见的情况,其中本地网络 IP 以10.0.或  192.168.或 Bonjour开头的域结束于.local:
export function isLocalNetwork(hostname = window.location.hostname) {
  return (
    (['localhost', '127.0.0.1', '', '::1'].includes(hostname))
    || (hostname.startsWith('192.168.'))
    || (hostname.startsWith('10.0.'))
    || (hostname.endsWith('.local'))
  )
}
| 归档时间: | 
 | 
| 查看次数: | 47469 次 | 
| 最近记录: |