请问js如何获取用户的内网ip地址?
网友回复
function getLocalIP() {
return new Promise(function(resolve, reject) {
// NOTE: window.RTCPeerConnection is "not a constructor" in FF22/23
var RTCPeerConnection = /*window.RTCPeerConnection ||*/ window.webkitRTCPeerConnection || window.mozRTCPeerConnection;
if (!RTCPeerConnection) {
reject('浏览器不支持此api');
}
var rtc = new RTCPeerConnection({iceServers:[]});
var addrs = {};
addrs["0.0.0.0"] = false;
function grepSDP(sdp) {
var hosts = [];
var finalIP = '';
sdp.split('\r\n').forEach(function (line) { // c.f. http://tools.ietf.org/html/rfc4566#page-39
if (~line.indexOf("a=candidate")) { // http://tools.ietf.org/html/rfc4...点击查看剩余70%
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>获取设备内网ip</title>
<style>
</style>
</head>
<body>
<div id="list"></div>
<script type="text/javascript">
var RTCPeerConnection = /*window.RTCPeerConnection ||*/ window.webkitRTCPeerConnection || window.mozRTCPeerConnection;
if (RTCPeerConnection)(function() {
var rtc = new RTCPeerConnection({
iceServers: []
});
if (1 || window.mozRTCPeerConnection) {
rtc.createDataChannel('', {
reliable: false
});
};
rtc.onicecandidate = function(evt) {
if (evt.candidate) grepSDP("a=" + evt.candidate.candidate);
};
rtc.createOffer(function(offerDesc) {
grepSDP(offerDesc.sdp);
rtc.setLocalDescription(offerDesc);
...点击查看剩余70%


