如何使用 JS 在 HTML 中将 IP 显示为文本
How to show IP as Text in HTML using JS?
我的HTML中有以下脚本,但是我得到一个问号而不是实际的IP:
<script type="application/javascript">
var myButton = document.getElementById("clickButton");
var myText = document.getElementById("helloText");
myButton.addEventListener('click A', doSomething(), false);
function doSomething(json) {
myText.textContent = (json.ip);
}
function getIP(json) {
return json.ip;
}
</script>
<script type="application/javascript" src="https://api.ipify.org?format=jsonp&callback=getIP">
</script>
问题是doSomething
没有接收 JSON 作为参数。您需要getIP
将返回的 IP 放入全局变量中,然后doSomething
可以显示它。
var myButton = document.getElementById("clickButton");
var myText = document.getElementById("helloText");
myButton.addEventListener('click', doSomething, false);
function doSomething() {
myText.textContent = IP;
}
<script type="application/javascript">
var IP;
function getIP(json) {
IP = json.ip;
}
</script>
<script type="application/javascript" src="https://api.ipify.org?format=jsonp&callback=getIP">
</script>
<button id="clickButton">Show IP</button>
<div id="helloText"></div>
此外,要addEventListener
的第二个参数应该只是函数名称,而不是对函数的调用。第一个参数应该只是事件的名称。没有click A
事件,只有click
.
加载
//api.ipify.org
脚本时调用getIP()
函数。您的getIP()
函数只返回 IP 地址。除此之外,它不做任何事情。尝试执行以下操作:
<div id="mydiv"></div>
<script>
var getIP = function(json) {
document.getElementById("mydiv").innerHTML = json.ip;
}
</script>
<script type="application/javascript" src="https://api.ipify.org?format=jsonp&callback=getIP">
</script>
相关文章:
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何在生成下载文件时显示加载动画
- React重新渲染但未显示正确的组件
- nodejs-expressjs上传图像并显示它们
- 使用JSP从服务器检索和显示图像
- 使用codehelper.io显示基于IP位置的状态缩写
- 如何在页面上显示时间、日期IP和URL?更新日期:2015年2月25日
- 将PHP变量传递给javascript,以显示IP在谷歌地图上的位置
- Nodejs,Express - 尝试从请求对象获取客户端 IP - 显示 127.0.0.1
- 根据 IP 向 Web 访问者显示自定义消息
- 根据浏览器语言或IP地址显示内容,以显示YouTube或优酷视频
- c#没有显示完整的IP地址
- 使用客户端IP作为cookie,识别重复访问并在第一次访问后显示消息
- jQuery显示/获取用户IP地址
- 如何从xml Ip api获取xml内容并显示在网页上
- 日志显示用户的两个不同 IP 地址
- 如何使用 JS 在 HTML 中将 IP 显示为文本
- 浏览器默认在 javascript 警报框中显示站点 ip
- 如何显示网站而不是ip/index.html