使用document对象
document对象既是HTMLDocument类的一个实例,也是DHTML模型中的一个对象。因此,JavaScript的document既可以作为HTMLDocument使用,也可以作为DHTML的document使用。该对象除了可以使用标准DOM模型的方法之外,还可以使用如下几个常用方法。
➢ close():结束一个通过open方法打开的document对象。
➢ open():打开一个document对象。
➢ write():向document对象中输出一条字符串,输完后不换行。
➢ writeln():向document对象中输出一条字符串,输完后换行。
➢ alinkColor、linkColor、vlinkColor、bgColor、fgColor:5个颜色属性,分别对应HTML文档中超链接激活时的颜色、没有访问过的超链接的颜色、访问过的超链接的颜色、背景色和前景色。
➢ all:该属性返回该文档中的所有子元素。
➢ anchors:该属性返回文档中的所有命名锚点数组。
➢ applets:该属性返回文档中所有的Applet数组。
➢ cookie:该属性用于读写HTTP cookie。
➢ documentElement:该属性返回文档的根元素。通常就是返回<html.../>
元素。
➢ forms:该属性返回该document包含的全部表单数组。
➢ frames:该属性返回该document包含的全部Frame集合。
➢ images:该属性返回该document包含的全部图像数组。
➢ lastModified:该属性返回该document的最后修改时间。
➢ links:该属性返回该document内包含的全部超链接的数组。
➢ location:该属性的作用类似于URL。
➢ referrer:该属性返回上一个页面的URL,且上一个页面中的超链接负责导航当前页面。
➢ scripts:该属性返回该document对象中包括的所有脚本的数组。
➢ styleSheets:该属性返回该document对象的全部CSS样式的数组。
➢ title:该属性返回document对象标题,就是
➢ URL:该属性返回document所在的URL,该属性的值与location的href属性值相同。
例子
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<title> 动态页面 </title>
</head>
<body>
<script type="text/javascript">
// 计数器
var n = 0;
var win = null;
// 用于显示弹出窗口显示提示信息的函数
var show = function(msg)
{
// 判断弹出窗口是否为空
if ((win == null) || (win.closed))
{
// 打开一个新的弹出窗口
win = window.open("","console"
,"width=340,height=220,resizable");
// 将弹出窗口的文档打开成一个text/html文档
win.document.open("text/html");
}
// 让弹出窗口得到焦点
win.focus();
// 在弹出窗口装载的文档中输出信息
win.document.writeln(msg);
}
</script>
<!-- 激发事件的按钮 -->
<input type="button" value="单击"
onclick="show('您单击了按钮:' + ++n + '次。<br/>');">
</body>
</html>
读写Cookie
Cookie是一些name=value对数据,这些数据可以由浏览器写入客户机硬盘,也可以由浏览器从客户机硬盘读取。Cookie通常用于持久记录客户的某些信息,比如客户的用户名及客户的喜好等,因而可以把Cookie当成一种简单的数据持久化方法。
通常而言,读写Cookie都是由服务器程序(比如JSP页面或Servlet等)控制的,但实际读写Cookie的依然是浏览器,因此JavaScript一样可以控制浏览器读写Cookie。
使用JavaScript控制浏览器写Cookie很简单,直接给document.cookie属性赋值即可,这个属性值必须为如下格式:
<name>=<value>
上面的各种
➢ max-age:指定该Cookie存活的最长有效期。以秒为单位。
➢ expires:指定Cookie的过期时间。
➢ path:指定该Cookie的路径。
➢ domain:指定该Cookie属于哪个域。
➢ secure:指定该Cookie的安全属性。
读取Cookie则略微复杂一点,需要先访问document.cookie属性,该属性返回一个字符串,然后使用JavaScript脚本分析该Cookie字符串。
例子
<script type="text/javascript">
var setCookie = function(name , value)
{
// 定义变量,保存当前时间
var expdate = new Date();
// 将expdate的月份 + 1。
expdate.setMonth(expdate.getMonth() + 1);
// 添加Cookie
document.cookie = name + "=" + escape(value) ;
+ "; expires=" + expdate.toGMTString() + ";";
}
var getCookie = function(name)
{
// 访问Cookie的name开始处
var offset = document.cookie.indexOf(name)
// 如果找到指定Cookie
if (offset != -1)
{
// 从Cookie名后位置开始搜索
offset += name.length + 1;
// 找到Cookie名后第一个分号(;)
end = document.cookie.indexOf(";", offset) ;
// 如果没有找到分号
if (end == -1)
{
end = document.cookie.length;
}
// 截断字符串中Cookie的值
return unescape(document.cookie.substring(offset, end));
}
else
{
return "";
}
}
setCookie('user' , 'baidu.com');
alert(getCookie('user'));
</script>
注:本博客内容节选自李刚编著的疯狂HTML 5/CSS 3/JavaScript讲义 ,详细内容请参阅书籍。