【发布时间】:2021-06-12 19:56:36
【问题描述】:
所以我制作了这个 IP 脚本,当您访问我的网站时,它会显示您的 IP。
我想做的是做一个简单的 IP 拦截器,我希望它找到包含 IP 地址作为文本的标头的值,并使其成为 if IPHEADER.text or something == "GOODIP" alert("RIGHT IP!"); else window.location = "SOMETHING" ...我知道那是糟糕的 JavaScript ,但这只是一个例子。
这是我当前的代码。
<h3 id="testIp"></h3>
<script>
function text(url) {
return fetch(url).then(res => res.text());
}
text('https://www.cloudflare.com/cdn-cgi/trace').then(data => {
let ipRegex = /[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}/
let ip = data.match(ipRegex)[0];
document.getElementById('testIp').innerHTML = (ip);
});
-->NEED HELP PAST HERE<---
function validate() {
if (document.getElementById("testIp").innerHTML == "The Right IP") {
alert("RIGHT IP!");
} else {
alert('WRONG IP!');
}
}
</script>
谢谢!
【问题讨论】:
-
如果您想比较原始文本,为什么不尝试
.textContent而不是.innerHTML? -
我的代码没有任何错误,只是它不工作。
-
将
if ...部分放入then回调中。在时间方面,它只保证该值在那里可用。或者通过参数传递值:function validate(ip) ...,并在.then中调用它:validate(ip)。 -
这不回答,也不适用于我的代码。对不起
标签: javascript html ip