我的Chrome扩展程序需要知道它正在运行的计算机的IP(真实世界的IP)是否有一种简单的方法来执行此操作?通过Chrome扩展检测当前IP?
1
A
回答
2
你总是可以使用freegeoip服务,我最喜欢的实现方式之一把它的如下:
var geoip = function(data){
if (data.region_name.length > 0) {
console.log('Your external IP:', data.ip);
}
}
var el = document.createElement('script');
el.src = 'http://freegeoip.net/json/?callback=geoip';
document.body.appendChild(el);
2
1
YES!您可以通过WebRTC API获取本地网络的IP地址。 您可以将此API用于任何Web应用程序,而不仅仅是Chrome扩展。
<script>
function getMyLocalIP(mCallback) {
var all_ip = [];
var RTCPeerConnection = window.RTCPeerConnection ||
window.webkitRTCPeerConnection || window.mozRTCPeerConnection;
var pc = new RTCPeerConnection({
iceServers: []
});
pc.createDataChannel('');
pc.onicecandidate = function(e) {
if (!e.candidate) {
mCallback(all_ip);
return;
}
var ip = /^candidate:.+ (\S+) \d+ typ/.exec(e.candidate.candidate)[1];
if (all_ip.indexOf(ip) == -1)
all_ip.push(ip);
};
pc.createOffer(function(sdp) {
pc.setLocalDescription(sdp);
}, function onerror() {});
}
getMyLocalIP(function(ip_array) {
document.body.textContent = 'My Local IP addresses:\n ' + ip_array.join('\n ');
});
<body> Output here... </body>
希望它能帮助!
相关问题
- 1. 通过chrome扩展插入html到当前标签?
- 2. Backbone.js的通过Chrome扩展
- 3. 通过UWP startupTask扩展检测启动
- 4. 当通过镀铬扩展自动填充时检测到
- 5. Chrome扩展测试
- 6. 检查 - Chrome扩展
- 7. 如何检测安装的Chrome扩展
- 8. 如何检测Chrome扩展卸载
- 9. Chrome浏览器扩展,可检测第
- 10. Chrome扩展程序:console.log检测器
- 11. 检测Google Chrome浏览器扩展
- 12. 扩展中的Chrome扩展检测按钮
- 13. Chrome扩展未检测到通知权限
- 14. 带扩展卡的Chrome扩展通知
- 15. 通过Chrome扩展插入/删除HTML
- 16. 无法通过Chrome扩展插入CSS
- 17. 单元测试Chrome扩展?
- 18. 如何测试Chrome扩展?
- 19. 检查是否通过Chrome扩展存在从清单
- 20. iOS扩展 - 检测“扩展状态更改”(后台/前台)
- 21. Chrome扩展:检索WordPress的
- 22. 如何将chrome扩展权限与当前chrome版本匹配?
- 23. 检测当页面加载Firefox扩展
- 24. 关于通过Chrome调用Chrome API或Chrome扩展插件
- 25. Chrome扩展更新通知
- 26. Chrome扩展显示通知
- 27. 通过扩展
- 28. Chrome扩展 - 从DOM路过
- 29. 如果我的扩展程序无法通过chrome://扩展名重新加载我的Chrome扩展程序?
- 30. NSIS通过IP检测国家代码
为什么需要依赖第三方服务器?这不会没有互联网连接工作! –
在撰写本文时,Chrome不允许在扩展中访问您的DNS设置。这已在过去5年更新。 – buzzedword