Javascript 在Chrome扩展中获取IP地址
我想在Chrome应用程序中获取用户的IP地址。Content Security Policy指令禁止我使用诸如IPify之类的服务或ajax请求,例如:Javascript 在Chrome扩展中获取IP地址,javascript,ip-address,google-chrome-app,Javascript,Ip Address,Google Chrome App,我想在Chrome应用程序中获取用户的IP地址。Content Security Policy指令禁止我使用诸如IPify之类的服务或ajax请求,例如: $.ajax({ url: 'https://freegeoip.net/json/', type: 'POST', dataType: 'jsonp', success: function(location) { alert(location.ip); } }); 错误消息是: 拒绝
$.ajax({
url: 'https://freegeoip.net/json/',
type: 'POST',
dataType: 'jsonp',
success: function(location) {
alert(location.ip);
}
});
错误消息是:
拒绝加载脚本“”,因为它违反了以下内容安全策略指令:“default src'self'blob:filesystem:chrome extension resource:”。请注意,未显式设置“script src”,因此使用“default src”作为回退
谢谢
为清晰起见,请编辑:我正在查找从全球互联网网络上的服务器上看到的IP地址,而不是本地IP。嗯,一种可能的方法是使用Chrome API。这个例子是这样的
chrome.system.network.getNetworkInterfaces(function(interfaces){
console.log(interfaces.address);
});
在manifest.json
文件中,您可能需要像这样为API授予权限
"permissions": [
"system.network"
]
它确实需要internet权限,但唯一的方法是调用返回外部IP的web服务
我在这里找到了这个。谢谢你的主意。我试过了,但我得到了本地IP地址,即192.168.1.xx。我怎样才能得到我的全局IP地址呢?嗯,不过我对全局IP地址不是很确定。。但是,您知道要检索的地址的URL吗?如果是,那么,我想可以使用
chrome.webRequest
检索公共信息IP@CharlesBlouin您可能应该在Q中澄清,您希望应用程序客户端访问互联网时使用的IP地址(NAT等之后)-您在此处的评论表明情况就是这样,您的示例代码对此进行了推断,但您没有具体说明。为什么要使用第三方服务?您的应用程序是否正在访问您控制下的任何Internet服务器?可能重复感谢您的帮助,但它似乎不起作用。我可以访问互联网(应用程序发送数据),但内容安全策略不允许简单地接收信息。