Javascript 发现IP八位组,然后将其设为href URL?
好吧,我已经尽我所能了。首先,以下是我无法更改的先决条件:Javascript 发现IP八位组,然后将其设为href URL?,javascript,variables,url,concatenation,href,Javascript,Variables,Url,Concatenation,Href,好吧,我已经尽我所能了。首先,以下是我无法更改的先决条件: Windows平台 只能使用IE 11 我的目标:检测客户端IP地址,然后将该变量放入网页上的URL中。基本上,此链接会将用户带到该设备的“主页”。 因为它是Windows操作系统,所以我可以使用ActiveX调用,其长度与特定于单个函数的长度相同。在这种情况下,函数是获取客户端的IP地址 <script> var objLocator = new ActiveXObject("WbemScripting.SWB
- Windows平台
- 只能使用IE 11
<script>
var objLocator = new ActiveXObject("WbemScripting.SWBemLocator");
var objService = objLocator.ConnectServer(".","root\\CIMV2");
instances = objService.ExecQuery(
"SELECT Caption, IPAddress, MACAddress FROM Win32_NetworkAdapterConfiguration"
);
e = new Enumerator(instances);
var IPAddy = "";
for(;!e.atEnd();e.moveNext()) {
nic = e.item();
if(nic.IPAddress!=null) {
var ipArray = VBArray(nic.IPAddress).toArray();
IPAddy = IPAddy + ipArray[0]+"<br>";
}
}
</script>
var objLocator=newActiveXObject(“WbemScripting.SWBemLocator”);
var objService=objLocator.ConnectServer(“.”,“root\\CIMV2”);
instances=objService.ExecQuery(
从Win32_NetworkAdapter配置中选择标题、IPAddress、MACAddress
);
e=新枚举数(实例);
var-ipady=“”;
对于(;!e.atEnd();e.moveNext()){
nic=e.item();
如果(nic.IPAddress!=null){
var ipArray=VBArray(nic.IPAddress.toArray();
IPAddy=IPAddy+ipArray[0]+“
”;
}
}
现在我的IP地址是'IPAddy',我将把它去掉,得到第四个八位组-aaa.bbb.ccc.ddd的'ddd'
<script>
var input = IPAddy;
var split = input.split('.');
var TPage = split[3];
</script>
var输入=IPAddy;
var split=input.split('.');
var TPage=分割[3];
现在,我无法正常工作的部分。(我原以为答案是肯定的,但对我来说不起作用。)我想把变量“TPage”变成PC用户的URL
在HTML文件的正文中:
<div class="w3-bar-block w3-black">
<a class="w3-bar-item w3-button w3-blue" href="bodytest016.html">Start</a>
<a class="w3-bar-item w3-button w3-text-white" href="pages/' + TPage + '.html" target="bigWindow">Your Computer Information</a>
<a class="w3-bar-item w3-button w3-text-white" href="pages/links.html" target="bigWindow">Your Web Pages</a>
<a class="w3-bar-item w3-button w3-text-white" href="pages/help.html" target="_blank">Help</a>
</div>
我通过在页面中添加一小部分来检查我的工作,检查了变量脚本是否有效:
<script>
document.write(IPAddy);
document.write(TPage);
</script>
文件写入(IPAddy);
文件编写(TPage);
在一天结束时,我想打开IE浏览器的“开始页面”。该页面将识别我的IP地址为95.10.10.126,我将能够单击链接“您的计算机信息”,该链接将带我到./pages/126.html
那么,我做错了什么:
…href=“pages/'+TPage+'.html”(您的计算机信息链接)?在IE中,它看起来像这样:file:///F:/pages/“++%20TPage%20++%20'.html”
非常感谢您的任何建议。谢谢您的时间。您的问题在
href=“pages/'+TPage+'.html”
;不能像那样在HTML中直接使用JavaScript变量
相反,您首先需要以元素为目标。在我的示例中,我使用执行此操作,但请注意,为了使用该选择器,您将需要元素上的id
属性。选择后,您需要更改href
属性。在这方面,您可以使用+
通过一些简单的连接将固定字符串与JavaScript变量结合起来:
var-TPage='127.0.0.1';
var link=document.getElementById('link');
link.href=“pages/”+TPage+”.html”;
控制台日志(链接)代码>
您的计算机信息
HTML:
<a href="pages/' + TPage + '.html">Your Computer Information</a>
太棒了!两个答案都很好
根据黑曜石时代的答案,我创建了以下脚本:
<script>
var input = IPAddy;
var split = input.split('.');
var TPage = split[3];
var link = document.getElementById('link');
link.href = "pages/" + TPage + ".html";
console.log(link);
</script>
var输入=IPAddy;
var split=input.split('.');
var TPage=分割[3];
var link=document.getElementById('link');
link.href=“pages/”+TPage+”.html”;
控制台日志(链接);
然而,我需要彼得·克拉夫的回应才能让它发挥作用。我必须将该脚本放在menu DIV对象的底部,就在锚定标记链接之后。像这样:
<div class="w3-bar-block w3-black">
<a class="w3-bar-item w3-button w3-blue" href="bodytest016.html">Start</a>
<a class="w3-bar-item w3-button w3-text-white" id="link" target="bigWindow">Your Computer Information</a>
<a class="w3-bar-item w3-button w3-text-white" href="pages/links.html" target="bigWindow">Your Web Pages</a>
<a class="w3-bar-item w3-button w3-text-white" href="pages/help.html" target="_blank">Help</a>
<script>
var input = IPAddy;
var split = input.split('.');
var TPage = split[3];
var link = document.getElementById('link');
link.href = "pages/" + TPage + ".html";
console.log(link);
</script>
</div>
var输入=IPAddy;
var split=input.split('.');
var TPage=分割[3];
var link=document.getElementById('link');
link.href=“pages/”+TPage+”.html”;
控制台日志(链接);
呜呼!谢谢你们两位
<div class="w3-bar-block w3-black">
<a class="w3-bar-item w3-button w3-blue" href="bodytest016.html">Start</a>
<a class="w3-bar-item w3-button w3-text-white" id="link" target="bigWindow">Your Computer Information</a>
<a class="w3-bar-item w3-button w3-text-white" href="pages/links.html" target="bigWindow">Your Web Pages</a>
<a class="w3-bar-item w3-button w3-text-white" href="pages/help.html" target="_blank">Help</a>
<script>
var input = IPAddy;
var split = input.split('.');
var TPage = split[3];
var link = document.getElementById('link');
link.href = "pages/" + TPage + ".html";
console.log(link);
</script>
</div>