跳到主要内容

Browser对象(Window对象、Navigator对象、Screen对象、History对象、Location对象、存储对象)

·2329 字·5 分钟

Browser对象中Window对象、Navigator对象、Screen对象、History对象、Location对象、存储对象属性与方法介绍与使用

Browser对象 #

  • 1.概念:

    Browser Object Model浏览器对象模型:将浏览器的各个组成部分封装成对象。

  • 2.组成:

    • Window:窗口对象
    • Navigator:浏览器对象(不常用)
    • Screen:显示器屏幕对象(不常用)
    • History:历史记录对象
    • Location:地址栏对象
    • 存储对象

1.Window 对象 #

2.Navigator 对象 #

3.Screen 对象 #

4.History 对象 #

5.Location 对象 #

  • Location对象
    • Location 对象包含有关当前 URL 的信息。
    • Location 对象是 window 对象的一部分,可通过 window.Location 属性对其进行访问。
    • 注意:没有应用于Location对象的公开标准,不过所有浏览器都支持该对象。
Location 对象属性 #
属性描述
hash返回一个URL的锚部分
host返回一个URL的主机名和端口
hostname返回URL的主机名
href返回完整的URL
pathname返回的URL路径名
port返回一个URL服务器使用的端口名
protocol返回一个URL协议
search返回一个URL的查询部分
(1)hash #
  • 定义和用法:

    hash 属性是一个可读可写的字符串,该字符串是 URL 的锚部分(从 # 号开始的部分)。

  • 语法:

    location.hash
    
  • 浏览器支持:

    所有主要浏览器都支持 hash 属性。

  • 实例:

    返回一个 URL 的主要部分。假设当前的 URL 是 http://www.baidu.com/test.htm#PART2:

    document.write(location.hash);
    

    以上实例输出结果:

    #part2
    
(2)host #
  • 定义和用法:

    host 属性是一个可读可写的字符串,可设置或返回当前 URL 的主机名称和端口号。

  • 语法:

    location.host
    
  • 浏览器支持:

    所有主要浏览器都支持 host 属性。

  • 实例:

    返回当前URL的主机名和端口(比如当前页面为http://localhost:9090/):

    <script>
    document.write(location.host);
    </script>
    

    以上实例输出结果:

    localhost:9090
    
(3)hostname #
  • 定义和用法:

    hostname 属性是一个可读可写的字符串,可设置或返回当前 URL 的主机名。

  • 语法:

    location.hostname
    
  • 浏览器支持:

    所有主要浏览器都支持 hostname 属性。

  • 实例:

    返回当前URL的主机名(比如当前页面为http://localhost:9090/):

    <script>
    document.write(location.hostname);
    </script>
    

    以上实例输出结果:

    localhost
    
(4)href #
  • 定义和用法:

    href 属性是一个可读可写的字符串,可设置或返回当前显示的文档的完整 URL。

  • 语法:

    location.href
    
  • 浏览器支持:

    所有主要浏览器都支持 href 属性。

  • 实例:

    返回完整的URL(比如当前页面为https://www.runoob.com/jsref/prop-loc-href.html):

    <script>
    document.write(location.href);
    </script>
    

    以上实例输出结果:

    https://www.runoob.com/jsref/prop-loc-href.html
    
(5)pathname #
  • 定义和用法:

    pathname 属性是一个可读可写的字符串,可设置或返回当前 URL 的路径部分。

  • 语法:

    location.pathname
    
  • 浏览器支持:

    所有主要浏览器都支持 pathname 属性。

  • 实例:

    返回当前URL的路径名(比如当前页面为https://www.runoob.com/jsref/prop-loc-pathname.html):

    <script>
    document.write(location.pathname);
    </script>
    

    以上实例输出结果:

    /jsref/prop-loc-pathname.html
    
(6)port #
  • 定义和用法:

    port 属性是一个可读可写的字符串,可设置或返回当前 URL 的端口部分。

    **注意:**如果端口号就是80(这是默认的端口号),无需指定。

  • 语法:

    location.port
    
  • 浏览器支持:

    所有主要浏览器都支持 port 属性。

  • 实例:

    返回当前URL的端口号(比如当前页面为http://localhost:9090/):

    <script>
    document.write(location.port);
    </script>
    

    以上实例输出结果:

    9090
    
(7)protocol #
  • 定义和用法:

    protocol 属性是一个可读可写的字符串,可设置或返回当前 URL 的协议。

  • 语法:

    location.protocol
    
  • 浏览器支持:

    所有主要浏览器都支持 protocol 属性。

  • 实例:

    返回当前URL的协议部分(比如当前页面为https://www.runoob.com/jsref/prop-loc-pathname.html):

    <script>
    document.write(location.protocol);
    </script>
    

    以上实例输出结果:

    https:
    
(8)search #
  • 定义和用法:

    search 属性是一个可读可写的字符串,可设置或返回当前 URL 的查询部分(问号 ? 之后的部分)。

  • 语法:

    location.search
    
  • 浏览器支持:

    所有主要浏览器都支持 search 属性。

  • 实例:

    返回URL的查询部分(比如当前页面为http://www.runoob.com/submit.htm?email=someone@ example.com):

    <script>
    document.write(location.search);
    </script>
    

    以上实例输出结果:

    ?email=someone@example.com
    
Location 对象方法 #
方法说明
[assign](#(1)assign()()载入一个新的文档
[reload](#(2)reload()()重新载入当前文档
[replace](#(3)replace()()用新的文档替换当前文档
(1)assign() #
  • 定义和用法:

    assign()方法加载一个新的文档。

  • 语法:

    location.assign(URL)
    
  • 浏览器支持:

    所有主要浏览器都支持 assign() 方法。

  • 实例:

    使用 assign() 来加载一个新的文档:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    <script>
    function newDoc(){
        window.location.assign("http://www.runoob.com")
    }
    </script>
    </head>
    <body>
    
    <input type="button" value="载入新文档" onclick="newDoc()">
    
    </body>
    </html>
    
(2)reload() #
  • 定义和用法:

    reload()方法用于刷新当前文档。

    reload() 方法类似于你浏览器上的刷新页面按钮。

    如果把该方法的参数设置为 true,那么无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档。这与用户在单击浏览器的刷新按钮时按住 Shift 健的效果是完全一样。

  • 语法:

    location.reload(forceGet)
    
  • 参数:

    参数类型描述
    forceGetBoolean可选。如果把该方法的参数设置为 true,那么无论文档的最后修改日期是什么,它都会绕过缓存,从服务器上重新下载该文档。
  • 返回值:

    该方法没有返回值。

  • 浏览器支持:

    所有主要浏览器都支持 reload() 方法。

  • 实例:

    重新载入当前文档:

    location.reload();
    
(3)replace() #
  • 定义和用法:

    replace() 方法可用一个新文档取代当前文档。

  • 语法:

    location.replace(newURL)
    
  • 浏览器支持:

    所有主要浏览器都支持 replace() 方法。

  • 实例:

    使用 replace() 方法来替换当前文档:

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    <script>
    function replaceDoc(){
        window.location.replace("https://www.runoob.com")
    }
    </script>
    </head>
    <body>
    
    <input type="button" value="载入新文档替换当前页面" onclick="replaceDoc()">
    
    </body>
    </html>
    

6.存储对象 #