在 chrome 扩展程序上获取用户的互联网连接基本信息?
Getting user's internet connection basic information on a chrome extensions?
所以我想尝试着手 chrome 扩展并有一个想法,但我不知道这是否可能。我需要的是获取用户互联网连接的一些基本信息,例如网络名称,可以很容易地将一个连接与另一个连接区分开来。
我想要做的是在启动 google chrome 时根据用户连接的网络打开不同的选项卡。例如,如果用户连接到他们的家庭网络,它可以打开 facebook 或 youtube 之类的东西,而不是在连接到他们的工作网络时打开与工作相关的网站。
到目前为止我所能找到的只是检查是否存在与 JS 的连接,所以我很想说这是不可能的,但是有什么方法可以做到这一点吗?同样,我是 chrome 扩展的新手,所以我真的不知道我可以做的所有可能的事情。
有很多方法可以做到这一点,您可以使用网络信息 API 和
NetworkInformation.connection
chrome 支持。
做类似
的事情
var connection = navigator.connection || navigator.webkitConnection;
这将使您能够访问一个布尔值(您已经拥有)或一个值。
但我认为您正在寻找的是 IP 检测,因为范围对于他们的 "home network" 网络本身、网络名称和数据将不可用客户端代码,如 JS。您可以使用像 Python 这样的延迟语言,并将其与 PyJamas 连接起来。
编辑:
或者尝试使用节点。是的,这是服务器端,但有资源可以为 chrome 扩展实现它。通过使用网络模块,您可以嗅出许多不同的信息,例如
network.get_private_ip(function(err, ip) {
console.log(err || ip); // should give you the users public IP, to help find out where they are
})
或使用
network.get_interfaces_list(function(err, list) { }
得到类似
的东西
name: 'eth0',
ip_address: '10.0.1.3',
mac_address: '56:e5:f9:e4:38:1d',
type: 'Wired',
netmask: '255.255.255.0',
gateway_ip: '10.0.1.1'
我找到了一种方法,尽管它依赖于第三方服务。 http://www.hostip.info(我相信还有很多其他人)有一个简单的 API 来获取网络的 IP 地址,因此一个简单的 XMLHTTPRequest 就可以完成这项工作。
我仍在寻找无需依赖他人的方法(也不像 hostip.info 那样自己设置在线服务),但目前这行得通。
感谢pj100提醒我网络IP地址也可以,不好意思之前没想到
所以我想尝试着手 chrome 扩展并有一个想法,但我不知道这是否可能。我需要的是获取用户互联网连接的一些基本信息,例如网络名称,可以很容易地将一个连接与另一个连接区分开来。
我想要做的是在启动 google chrome 时根据用户连接的网络打开不同的选项卡。例如,如果用户连接到他们的家庭网络,它可以打开 facebook 或 youtube 之类的东西,而不是在连接到他们的工作网络时打开与工作相关的网站。
到目前为止我所能找到的只是检查是否存在与 JS 的连接,所以我很想说这是不可能的,但是有什么方法可以做到这一点吗?同样,我是 chrome 扩展的新手,所以我真的不知道我可以做的所有可能的事情。
有很多方法可以做到这一点,您可以使用网络信息 API 和
NetworkInformation.connection
chrome 支持。
做类似
的事情var connection = navigator.connection || navigator.webkitConnection;
这将使您能够访问一个布尔值(您已经拥有)或一个值。
但我认为您正在寻找的是 IP 检测,因为范围对于他们的 "home network" 网络本身、网络名称和数据将不可用客户端代码,如 JS。您可以使用像 Python 这样的延迟语言,并将其与 PyJamas 连接起来。
编辑: 或者尝试使用节点。是的,这是服务器端,但有资源可以为 chrome 扩展实现它。通过使用网络模块,您可以嗅出许多不同的信息,例如
network.get_private_ip(function(err, ip) {
console.log(err || ip); // should give you the users public IP, to help find out where they are
})
或使用
network.get_interfaces_list(function(err, list) { }
得到类似
的东西name: 'eth0',
ip_address: '10.0.1.3',
mac_address: '56:e5:f9:e4:38:1d',
type: 'Wired',
netmask: '255.255.255.0',
gateway_ip: '10.0.1.1'
我找到了一种方法,尽管它依赖于第三方服务。 http://www.hostip.info(我相信还有很多其他人)有一个简单的 API 来获取网络的 IP 地址,因此一个简单的 XMLHTTPRequest 就可以完成这项工作。
我仍在寻找无需依赖他人的方法(也不像 hostip.info 那样自己设置在线服务),但目前这行得通。
感谢pj100提醒我网络IP地址也可以,不好意思之前没想到