使用html,css和Javascript构建混合应用程序,我希望应用程序只能在我的手机上运行,我希望能够使用Javascript获取我的IP号码或序列号,如果它与已存储的号码相匹配在变量中,它将允许我访问应用程序。感谢
答案 0 :(得分:0)
您无法使用JS代码从手机获取电话号码,序列ID。您可以使用phonegap这样的包装器,它允许您将js html应用程序转换为本机应用程序。 api可能会让你做一些你需要检查文档的东西。
从JS你无法获得手机的IP,要从JS获取IP,你可以与你自己的服务器通信并获得IP或使用例如免费的GEO ip api,这将允许你从客户端JS代码调用如下:
这是一个免费的api
http://ip-api.com/docs/api:json
这将返回json中的设备IP以及一些地理结果。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>IP-API.com Geo Location Demo</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<table id="GeoResults"></table>
<script>
$.getJSON("http://ip-api.com/json/?callback=?", function(data) {
var table_body = "";
$.each(data, function(k, v) {
table_body += "<tr><td>" + k + "</td><td><b>" + v + "</b></td></tr>";
});
$("#GeoResults").html(table_body);
});
</script>
</body>
</html>
最后一个选项是创建自己的uuid并将其存储为cookie或在local storage中使用JS。然后,您可以在运行应用程序时读取该ID,并使用它来识别设备。
function generateUUID() {
var d = new Date().getTime();
var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = (d + Math.random()*16)%16 | 0;
d = Math.floor(d/16);
return (c=='x' ? r : (r&0x3|0x8)).toString(16);
});
return uuid;
};
您可以阅读如何在设备本地存储中存储并在此处进行检索: