使用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是一些name=value对数据,这些数据可以由浏览器写入客户机硬盘,也可以由浏览器从客户机硬盘读取。Cookie通常用于持久记录客户的某些信息,比如客户的用户名及客户的喜好等,因而可以把Cookie当成一种简单的数据持久化方法。
  通常而言,读写Cookie都是由服务器程序(比如JSP页面或Servlet等)控制的,但实际读写Cookie的依然是浏览器,因此JavaScript一样可以控制浏览器读写Cookie。
  使用JavaScript控制浏览器写Cookie很简单,直接给document.cookie属性赋值即可,这个属性值必须为如下格式:
  <name>=<value>
  上面的各种都可由开发者任意指定。除此之外,添加Cookie时还可指定如下几个属性。
  ➢ 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讲义 ,详细内容请参阅书籍。