dom对象详解----window对象3
- status属性
window 的 status 属性可以控制状态栏的信息
实现下面的案例:
- 案例代码:
<html>
<head>
<script type="text/javascript">
var space_num=0;
方向
var dir=1;
function myScroll(){
var space_my=" ";
space_num = space_num + 1 * dir;
if(space_num>50 || space_num<0){
dir = dir * -1;
}
for(var i=0;i<space_num;i++){
space_my = space_my + " ";
}
window.status = space_my + "世界你好!";
}
function startIt(){
setInterval("myScroll()",100);
}
</script>
</head>
<body οnlοad="startIt()">
</body>
</html>
- 练习题目
window实际上已经讲完了
window要告一段落了
- dom对象详解-history对象
- 简介
用途就是返回原先浏览过的页面
很多浏览器禁用了,因为会泄露浏览隐私
浏览历史就是通过history进行记录的
History 对象实际上是javascript对象,而不是Html DOM对象。
History 对象包含用户(在浏览器窗口中)访问过的 URL。
History 对象是 window 对象的一部分,可通过 window.history 属性对其进行访问。
注释:没有应用于 History 对象的公开标准,不过所有浏览器都支持该对象。
和Java的jre起到的作用是一样的,提供一个运行的平台
- back()
back是返回一个页面
- go()
返回之前许多个的时候,返回指定的页面
返回之前一个,当前算0
- Length
返回的是之前的个数,不算当前的
- forward()
相当于go(1)
在最后面不能用go(1)
- dom对象详解-location对象
- 简介
运行时创建的,只有运行的时候,才创建
浏览器可以设置空白页,这个时候就没有这个对象
就是这个位置
Location 对象包含有关当前 URL 的信息。
Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。
location对象的属性和方法如下:
- relad()
重新加载当前文档
作用相当于刷新
- href
查一下文档
- hostname
得启动tomcat才能管用
打印的不是机器的名称,而是,前面的地址
准确地讲,取的是ip地址
- protocol
- ★dom对象详解-navigator对象
Navigator (导航)对象包含有关浏览器的信息。
这个很有用
注释:没有应用于 navigator 对象的公开标准,不过所有浏览器都支持该对象。
- navigator对象的属性和方法
<html>
<body>
<script type="text/javascript">
var browser=navigator.appName;
var b_version=navigator.appVersion;
var version=parseFloat(b_version);
document.write("浏览器名称:"+ browser);
document.write("<br />");
document.write("浏览器版本:"+ version);
document.write("<p>平台:");
document.write(navigator.platform + "</p>");
</script>
</body>
</html>
火狐返回的是网景
Utf-8
linux还是win32
Win32是指Microsoft Windows操作系统的32位环境,与Win64 都为Windows常见环境
使用的语言,火狐不支持
- ★dom对象详解-screen对象
Screen 对象
很有用处
Screen 对象包含有关客户机器显示屏幕的信息。
注释:没有应用于 screen 对象的公开标准,不过所有浏览器都支持该对象。
screen对象的属性:
- 常用属性
- 案例1
指的是屏幕的宽和高,不是浏览器的
- 案例2
返回可用高度,除去任务栏,返回的是像素
- dom对象详解-event对象
event事件在前面都已经讲过了,这里就不再详细讲了
- ★重点:关于绑定事件的细节
- 直接和某个html控件绑定
- 通过getElementById()获取到元素后,再绑定
- 通过addEventListener() 或者是 attachEvent() 来绑定
- 一个事件可以有多个监听者
- 案例1:
<html>
<head>
<script type="text/javascript">
function test(){
window.alert("绑定成功");
}
</script>
</head>
<body>
<input type="button" id = "but1" value="绑定">
<script type="text/javascript">
document.getElementById("but1").οnclick=test;
- 注意这里不要加();
- 如果加了,就是就是将函数执行结果返回给了他
- 和前面讲到的类似,onclick函数指向了test
</script>
</body>
</html>
- 案例2:
需求:如果有一个投票系统,但只能投一次票
这个是w3c标准的规范
<html>
<head>
<script type="text/javascript">
function test(){
window.alert("你投了一次票,投票成功");
//解除这个事件绑定
document.getElementById("but1").removeEventListener('click',test);
}
</script>
</head>
<body>
<input type="button" id = "but1" value="投票">
<script type="text/javascript">
document.getElementById("but1").addEventListener("click",test);
注意这里是 click ,而不是 onclick
</script>
</body>
</html>
- 案例3
这个是IE独有的
刷新一次页面仍然可以投
如果想真正防止投两次,只能服务器记录ip 和网卡的Mac地址了
- 特别强调:
addEventListener() 方法的浏览器支持:
Internet Explorer 8 及更早IE版本不支持 addEventListener() 方法,Opera 7.0 及 Opera 更早版本也不支持。
如果浏览器不支持 addEventListener() 方法, 你可以使用 attachEvent() 方法替代。
以下实例演示了跨浏览器的解决方法:
<!DOCTYPE html>
<html>
<body>
<p> 所有主流浏览器都支持addEventListener()方法,除了 IE 8 及更早 IE 版本。</p>
<p>该实例演示了所有浏览器兼容的解决方案。</p>
<button id="myBtn">点我</button>
<script>
var x = document.getElementById("myBtn");
if (x.addEventListener) {
x.addEventListener("click", myFunction);
} else if (x.attachEvent) {
x.attachEvent("onclick", myFunction);
}
function myFunction() {
alert("Hello World!");
}
</script>
</body>
</html>
- ★案例4
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function test(event){
//用户每按下一个键,就去判断是不是一个数
if(event.keyCode>=48 && event.keyCode<=57){
}else {
window.alert("你输入的不是数");
return false;
//window.event.returnValue=false;
这样也可以
event里面有一个returnValue属性,当他是false的时候,就会取消事件执行
}
}
</script>
</head>
<body>
每输入一个数,就进行检查,而不是等输完了再检查
键按下并松开事件
注意这三者的区别
<input type="text" id = "text1" οnkeypress="return test(event)">
<input type="button" id = "but1" value="提交" οnclick="test()">
</body>
</html>
- event对象
clientX 相对于窗口而言
screenX相对于屏幕而言
- onkeypress、onkeyup、onkeydown
onkeypress
这个事件在用户按下并放开任何字母数字键时发生。
系统按钮(例如,箭头键和功能键)无法得到识别。
onkeyup
这个事件在用户放开任何先前按下的键盘键时发生。
onkeydown
这个事件在用户按下任何键盘键(包括系统按钮,如箭头键和功能键)时发生。