javascript实现的登陆遮罩效果汇总


Posted in Javascript onNovember 09, 2015

javascript实现的登陆遮罩效果

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>遮罩</title>
<style>
  #blanks{
    display:none;
    width:100%;
    //height:100%;
    height:100px;
    position:absolute;
    top:0;
    background-color:#ccc;
    z-index:1000;
    -moz-opacity: 0.7; 
    opacity:.70; 
    filter: alpha(opacity=70);
  }
  #login{
    padding:18px;
    display:none;
    background-color:pink;
    width:300px;
    height:100px;
    position:absolute;
    left:400px;
    top:20%;
    z-index:1001;
     
  }
</style>
</head>
<body onload="setHeight()">
   <div id="content">
      <input type="button" value="登陆" onclick="showLogin()">
      <p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
      作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
      像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
      这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
      如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
      </p>
      <p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
      作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
      像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
      这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
      如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
      </p>
      <p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
      作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
      像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
      这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
      如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
      </p>
      <p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
      作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
      像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
      这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
      如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
      </p>
      <p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
      作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
      像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
      这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
      如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
      </p>
      <p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
      作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
      像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
      这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
      如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
      </p>
      <p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
      作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
      像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
      这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
      如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
      </p>
      <p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
      作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
      像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
      这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
      如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
      </p>
      <p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
      作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
      像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
      这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
      如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
      </p>
      <p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
      作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
      像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
      这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
      如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
      </p>
      <p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
      作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
      像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
      这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
      如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
      </p>
      <p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
      作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
      像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
      这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
      如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
      </p>
      <p>《人生》前15年左右都是些教学关卡,弱弱的,你还没法点“跳过”。
      作为一个初来乍到的新手,你有大把的时间和用不完的精力,但几乎毫无经验。你会发现游戏的大多数元素,
      像什么牛逼的工作啦,财富啦,伴侣啦都还没有解锁,一直到你真正拥有了它们。
      这段时间,你的技能升级得非常快。在之后的游戏中,你再也不可能像这个阶段一样时间充裕而且精力充沛。
      如果想要玩出水平,最重要的是要把时间安排得尽可能合理。你的任何一个行动都会改变你的状态和技能
      </p>
   </div>
   <div id="blanks"></div>
   <div id="login">
      <form method="post">
        用户名:<input type="text" name="username" ><br/>
        密  码:<input type="password" name="password"><br/>
          <input type="submit" value="提交">
      </form>
       <div id="btnclose" style="position:absolute;left:93%;top:0%;z-index:5;">
         <img src="close.png" onclick="hidediv();"/>
       </div>
   </div>
</body>
</html>
<script type="text/javascript">
 function setHeight()
 {
    var h=document.documentElement.scrollHeight;
    document.getElementById("blanks").style.height=h+"px";
   }
 function hidediv()
  {
    document.getElementById("login").style.display="none";
    document.getElementById("blanks").style.display="none";
   }
 function showLogin()
 {
    document.getElementById("login").style.display="block";
    document.getElementById("blanks").style.display="block";
   }
</script>

上面代码的核心内容为

<script type="text/javascript">
 function setHeight()
 {
    var h=document.documentElement.scrollHeight;
    document.getElementById("blanks").style.height=h+"px";
   }
 function hidediv()
  {
    document.getElementById("login").style.display="none";
    document.getElementById("blanks").style.display="none";
   }
 function showLogin()
 {
    document.getElementById("login").style.display="block";
    document.getElementById("blanks").style.display="block";
   }
</script>

例子二:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>
  <script type="text/javascript">
    function showLogin() {
      var loginDiv = document.getElementById("loginDiv");
      var zhezhao = document.getElementById("zhezhao");
      var clientx = document.documentElement.clientWidth;
      var clienty = document.documentElement.clientHeight;
      var l_margin = (clientx - parseInt(loginDiv.style.width)) / 2;
      var t_margin = (clienty - parseInt(loginDiv.style.height)-200) / 2
      loginDiv.style.left = l_margin + "px";
      loginDiv.style.top = t_margin +"px";
      loginDiv.style.display = "block";
      zhezhao.style.display = "block";
    }
    function hidLogin() {
      var loginDiv = document.getElementById("loginDiv");
      var zhezhao = document.getElementById("zhezhao");
      loginDiv.style.display = "none";
      zhezhao.style.display = "none";
    }
    function titleMove() {
      var moveable = true;
      var loginDiv = document.getElementById("loginDiv");
      //以下变量提前设置好            var clientX = window.event.clientX;
      var clientY = window.event.clientY;
      var moveTop = parseInt(loginDiv.style.top);
      var moveLeft = parseInt(loginDiv.style.left);
      document.onmousemove = function MouseMove() {
        if (moveable) {
          var y = moveTop + window.event.clientY - clientY;
          var x = moveLeft + window.event.clientX - clientX;
          if (x > 0 && y > 0) {
            loginDiv.style.top = y + "px";
            loginDiv.style.left = x + "px";
          }
        }
      }
      document.onmouseup = function Mouseup() {
        moveable = false;
      }
    }
  </script>
</head>
<body>
<!--Main start z-index:0-->
<div id="Main" style="position:absolute;z-index:0;">
<a href="javascript:showLogin()">登陆</a>
</div>
<!--Main start z-index:0-->
<!--loginDiv start :z-index:2-->
<div id="loginDiv" style="background-color:white;width:300px;height:150px;border:1px solid blue;z-index:2;display:none;position:absolute;border-top:none">
  <div onmousedown="titleMove()" id="login_title" style="width:300px;height:25px;background-color:Blue;border:1px solid silver;border-left:none;border-right:none">
    <!--<img src="http://www.zhujiangroad.com/images/close.jpg" style="float:right" onclick="hidLogin()"/>-->
    <a href="javascript:hidLogin()" style="float:right;text-decoration:none;color:white;margin-right:2px;font-size:20px">×</a>
  </div>
  <table style="clear:right;width:298px;height:115px;text-align:right;margin-top:10px;">
    <tr><td>用户名:</td><td><input type="text" style="width:180px;" /></td><td> </td></tr>
    <tr><td>密码:</td><td><input type="text" style="width:180px;" /></td><td> </td></tr>
    <tr><td><br /></td><td></td></tr>
  </table>
</div>
<!--loginDiv end :z-index:2-->
<!--zhezhao start: z-index:1-->
<div id="zhezhao" style="position:absolute;z-index:1;width:100%;height:100%;background-color:silver;display:none;opacity:.5;">
<!--zhezhao end-->
</div>
</body>
</html>

例子三:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>弹出登录框的实现代码</title>
</head>
<body>
<style type="text/css">
body {
margin: 0px;padding:0
}
#div1 {
display: none;
position: absolute;
z-index: 1000;
height: 100%;
width: 100%;
background: #000000;
filter:Alpha(opacity=30);
}
#div2 {
display: none;
position: absolute;
height: 100%;
width: 100%;
padding-top: 10%;
z-index: 1001;
left: 0px;
top: 0px;
}
</style>
<script>
function openme(){
document.getElementById('div1').style.display='block';
document.getElementById('div2').style.display='block';
}
function closeme(){
document.getElementById('div1').style.display='none';
document.getElementById('div2').style.display='none';
}
function logo_in(){alert()
//验证
//转向...
//myform.action=""
//myform.submit()
closeme();
}
</script>
<div id="div1"></div>
<div id="div2">
<table width="30%" border="0" cellpadding="3" cellspacing="1" style="background: #ff7300; position:static;filter:progid:DXImageTransform.Microsoft.DropShadow(color=#666666,offX=4,offY=4,positives=true)" align="center">
<tr id="m_tr">
<td><font color="#FFFFFF">欢迎登陆:</font></td>
<td align="right">
<input type="button" value="x" onClick="closeme()" style="cursor: hand;">
</td>
</tr>
<tr>
<form name="myform" method="post" >
<td colspan="2" width="100%" bgcolor="#FFFFFF" height="150">
username: <input type="text" name="username" size="10">
<br>pasword:<input type="password" name="pasword" size="12">
<br><input type="button" name="logoin" value="登陆" onClick="logo_in()">
<input type="button" name="exit" value="取消" onClick="closeme()">
</td>
</form>
</tr>
</table>
</div>
<div>
<input name="button" type="button" onClick="openme()" value="登陆" />
</div>
<br>
<div>
简单的代码
</div>
</body>
</html>

例子四

js制作带有遮罩弹出层实现登录注册表单代码特效

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>js制作带有遮罩弹出层实现登录注册表单代码特效</title>
<link rel="stylesheet" type="text/css" href="css/198zone.css">
</head>
<body>
<a class="btn01" data-toggle="modal" href="#login-modal">登录</a>
<a class="btn02" data-toggle="modal" href="#signup-modal">注册</a>
<a class="btn03" data-toggle="modal" href="#forgetform">找回密码</a>
<a class="btn02" data-toggle="modal" href="#activation-modal">用户信息</a>
<a class="btn03" data-toggle="modal" href="#setpassword-modal">重置密码</a>
<div class="modal" id="login-modal">
<a class="close" data-dismiss="modal">×</a>
<h1>登录</h1>
<ul class="login-bind-tp">
<li class="qweibo"> <a href="https://3water.com"><em> </em> QQ登录</a> </li>
<li class="sina"> <a href="https://3water.com"><em> </em> 微博登录</a> </li>
<li class="douban"> <a href="https://3water.com"><em> </em> 豆瓣登录</a> </li>
</ul>
<p>或者使用已有帐号登陆:</p>
<form class="login-form clearfix" method="post" action="https://3water.com">
<div class="form-arrow"></div>
<input name="email" type="text" placeholder="邮箱:">
<input name="password" type="password" placeholder="密码:">
<input type="submit" name="type" class="button-blue login" value="登录">
<input type="hidden" name="return-url" value="">
<div class="clearfix"></div>
<label class="remember"><input name="remember" type="checkbox" checked />下次自动登录 </label>
<a class="forgot">忘记密码?</a>
<ul class="third-parties">
<li><p>新浪微博帐号</p></li>
<li><p>腾讯微博帐号</p></li>
<li><p>豆瓣帐号</p></li>
<li><p></p></li>
</ul>
</form>
</div>
<div class="modal" id="signup-modal">
<a class="close" data-dismiss="modal">×</a>
<h1>注册</h1>
<ul class="login-bind-tp">
<li class="qweibo"> <a href="https://3water.com"><em> </em> QQ登录</a> </li>
<li class="sina"> <a href="https://3water.com"><em> </em> 微博登录</a> </li>
<li class="douban"> <a href="https://3water.com"><em> </em> 豆瓣登录</a> </li>
</ul>
<p>或者使用邮箱注册:</p>
<form class="signup-form clearfix" method="post" action="https://3water.com">
<p class="error"></p>
<input name="email" type="text" placeholder="邮箱:">
<input name="password" type="password" placeholder="密码:">
<input name="password1" type="password" placeholder="确认密码:">
<input name="username" type="text" placeholder="用户名:">
<input type="hidden" name="title" value="">
<input type="hidden" name="url" value="">
<div class="clearfix"></div>
<input type="button" name="type" class="button-blue reg" value="注册" data-action="regist">
<ul class="third-parties">
<li><p>新浪微博帐号</p></li>
<li><p>腾讯微博帐号</p></li>
<li><p>豆瓣帐号</p></li>
</ul>
</form>
</div>
<div class="modal" id="forgetform">
<a class="close" data-dismiss="modal">×</a>
<h1>忘记密码</h1>
<form class="forgot-form" method="post" action="https://3water.com">
<input name="email" value="" placeholder="注册邮箱:">
<div class="clearfix"></div>
<input type="submit" name="type" class="forgot button-blue" value="发送重设密码邮件">
</form>
</div>
<div class="modal" id="activation-modal">
<a class="close" data-dismiss="modal">×</a>
<h1>设置用户信息</h1>
<form class="signup-form clearfix" method="post" action="https://3water.com">
<input autocomplete=off name="username" value="" placeholder="用户名:">
<input autocomplete=off name="password" type="password" placeholder="密码:">
<input autocomplete=off name="password2" type="password" placeholder="确认密码:">
<input type="submit" name="type" class="button-blue reg" value="确认并登录" data-action="regist">
<div class="clearfix"></div>
</form>
</div>
<div class="modal" id="setpassword-modal">
<a class="close" data-dismiss="modal">×</a>
<h1>重置密码</h1>
<form class="signup-form clearfix" method="post" action="https://3water.com">
<input name="email" value="">
<input name="password" type="password" placeholder="密码:">
<input name="password2" type="password" placeholder="确认密码:">
<input name="token" type="hidden" value="">
<input type="submit" name="type" class="button-blue reg" value="设置新密码并登录" data-action="reset">
<div class="clearfix"></div>
</form>
</div>
<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="js/modal.js"></script>
<script type="text/javascript">
$(document).ready(function(){

	$("a.forgot").click(function(){
		$("#login-modal").modal("hide");
		$("#forgetform").modal({show:!0})
	});
	
	$("#signup-modal").modal("hide");
	$("#forgetform").modal("hide");
	$("#login-modal").modal("hide");
	$("#activation-modal").modal("hide");
	$("#setpassword-modal").modal("hide");
	
});
</script>
<div style="display:none"><script src="http://demo.3water.com/js/tj.js"></script></div>
<script src="http://demo.3water.com/js/yxj.js" type="text/javascript"></script>
</body>
</html>

演示: http://demo.3water.com/js/2014/jquery-zzdcc-dlzcbd/

Javascript 相关文章推荐
js宝典学习笔记(上)
Jan 10 Javascript
学习ExtJS TextField常用方法
Oct 07 Javascript
jquery 打开窗口返回值实现代码
Mar 04 Javascript
jquery 获取dom固定元素 添加样式的简单实例
Feb 04 Javascript
BootStrap文件上传样式超好看【持续更新】
May 10 Javascript
前端微信支付js代码
Jul 25 Javascript
基于MVC方式实现三级联动(JavaScript)
Jan 23 Javascript
vue2.0实现倒计时的插件(时间戳 刷新 跳转 都不影响)
Mar 30 Javascript
解决layui中的form表单与button的点击事件冲突问题
Aug 15 Javascript
Vue中CSS动画原理的实现
Feb 13 Javascript
微信小程序JS加载esmap地图的实例详解
Sep 04 Javascript
基于JS实现计算24点算法代码实例解析
Jul 23 Javascript
jquery实现简易的移动端验证表单
Nov 08 #Javascript
jquery UI Datepicker时间控件的使用方法(终结版)
Nov 07 #Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
Nov 07 #Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
Nov 07 #Javascript
jquery验证邮箱格式并显示提交按钮
Nov 07 #Javascript
jquery判断当前浏览器的实现代码
Nov 07 #Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
Nov 07 #Javascript
You might like
php获取数组中重复数据的两种方法
2013/06/28 PHP
php中隐形字符65279(utf-8的BOM头)问题
2014/08/16 PHP
php获得刚插入数据的id 的几种方法总结
2018/05/31 PHP
laravel validate 设置为中文的例子(验证提示为中文)
2019/09/29 PHP
Cookie 注入是怎样产生的
2009/04/08 Javascript
javascript实现tabs选项卡切换效果(扩展版)
2013/03/19 Javascript
jquery遍历checkbox介绍
2014/02/21 Javascript
28个常用JavaScript方法集锦
2015/01/14 Javascript
关于js里的this关键字的理解
2015/08/17 Javascript
Javascript发送AJAX请求实例代码
2016/08/21 Javascript
Canvas + JavaScript 制作图片粒子效果
2017/02/08 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
解决Layui选择全部,换页checkbox复选框重新勾选的问题方法
2018/08/14 Javascript
微信小程序实现首页弹出广告
2020/12/03 Javascript
[56:14]Fnatic vs OG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python可跨平台实现获取按键的方法
2015/03/05 Python
Python编程pygal绘图实例之XY线
2017/12/09 Python
分析python切片原理和方法
2017/12/19 Python
python字符串string的内置方法实例详解
2018/05/14 Python
python3字符串输出常见面试题总结
2020/12/01 Python
Daniel Wellington官方海外旗舰店:丹尼尔惠灵顿DW手表
2018/02/22 全球购物
中学生在校期间的自我评价分享
2013/11/13 职场文书
机电一体化专业应届生求职信
2013/11/27 职场文书
先进个人获奖感言
2014/01/24 职场文书
物理研修随笔感言
2014/02/14 职场文书
聚美优品陈欧广告词
2014/03/14 职场文书
暑假社会实践证明格式
2014/10/28 职场文书
2015年六一儿童节演讲稿
2015/03/19 职场文书
校长新学期寄语2016
2015/12/04 职场文书
2016猴年开门红标语口号
2015/12/26 职场文书
中国现代文学之经典散文三篇
2019/09/18 职场文书
2020年基层司法所建设情况调研报告
2019/11/30 职场文书
HTML中的表单Form实现居中效果
2021/05/25 HTML / CSS
MongoDB数据库常用的10条操作命令
2021/06/18 MongoDB
Mybatis是这样防止sql注入的
2021/12/06 Java/Android
Nginx本地配置SSL访问的实例教程
2022/05/30 Servers