我想在Chrome应用中获取用户的IP地址。内容安全策略指令阻止我使用IPify等服务或ajax请求,例如:
$.ajax({
url: 'https://freegeoip.net/json/',
type: 'POST',
dataType: 'jsonp',
success: function(location) {
alert(location.ip);
}
});
错误消息是:
拒绝加载脚本' https://freegeoip.net/json/?callback=jQuery21304975464364979416_1442806213407&_=1442806213408'因为它违反了以下内容安全策略指令:" default-src' self' blob:filesystem:chrome-extension-resource:"。请注意' script-src'没有明确设置,所以' default-src'被用作后备。
谢谢,
为清晰起见编辑:我正在寻找从全球互联网网络上的服务器看到的IP地址,而不是本地IP。
答案 0 :(得分:0)
嗯,一种可能的方法是使用Chrome API chrome.system.network.getNetworkInterfaces()。这个例子就像这个。
chrome.system.network.getNetworkInterfaces(function(interfaces){
console.log(interfaces.address);
});
在manifest.json
文件中,您可能需要像这样授予API权限。
"permissions": [
"system.network"
]
答案 1 :(得分:-1)