Javascript 在Chrome扩展中获取IP地址

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); } }); 错误消息是: 拒绝

我想在Chrome应用程序中获取用户的IP地址。Content Security Policy指令禁止我使用诸如IPify之类的服务或ajax请求,例如:

$.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服务器?可能重复感谢您的帮助,但它似乎不起作用。我可以访问互联网(应用程序发送数据),但内容安全策略不允许简单地接收信息。