web前端学习(四十五)——JavaScript BOM-Location对象、BOM-Cookie实例

简介: web前端学习(四十五)——JavaScript BOM-Location对象、BOM-Cookie实例

1.BOM-Location对象


Location对象包含有关当前 URL 的信息。

Location对象是 window 对象的一部分,可通过 window.Location 属性对其进行访问。

window.location对象用于获得当前页面的地址 (URL),并把浏览器重定向到新的页面。window.location 对象在编写时可不使用 window 这个前缀。

属性

描述

hash

返回一个URL的锚部分

host

返回一个URL的主机名和端口

hostname

返回URL的主机名

href

返回完整的URL

pathname

返回的URL路径名。

port

返回一个URL服务器使用的端口号

protocol

返回一个URL协议

search

返回一个URL的查询部分

方法

说明

assign()

载入一个新的文档

reload()

重新载入当前文档

replace()

用新的文档替换当前文档


1.1 Location对象属性 

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>JS简单学习</title>
  </head>
  <body>
    <script type="text/javascript">
      document.write("获取URL的主机名:" + location.hostname + "<br />");
      document.write("获取URL的端口号:" + location.port + "<br />");
      document.write("获取URL的主机名和端口号:" + location.host + "<br />");
      document.write("获取完整的URL:" + location.href + "<br />");
      document.write("获取URL的路径名:" + location.pathname + "<br />");
      document.write("获取URL的一个协议:" + location.protocol + "<br />");
    </script>
  </body>
</html>

1.2 Location对象方法

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>JS简单学习</title>
    <script type="text/javascript">
      function newDoc() {
        window.location.assign("https://www.tencent.com");
      }
      function reloadDoc() {
        location.reload();
      }
      function replaceDoc() {
        window.location.replace("https://www.baidu.com");
      }
    </script>
  </head>
  <body>
    <input type="button" value="载入新文档" onclick="newDoc()" /><br /><br />
    <input type="button" value="重新加载页面" onclick="reloadDoc()" /><br /><br />
    <input type="button" value="载入新文档替换当前页面" onclick="replaceDoc()" />
  </body>
</html>

2.BOM-Cookie


Cookie是一些数据, 存储于你电脑上的文本文件中。Cookie 用于存储 web 页面的用户信息。

web 服务器向浏览器发送 web 页面时,在连接关闭后,服务端不会记录用户的信息。

Cookie的作用就是用于解决 "如何记录客户端的用户信息":

·       当用户访问 web 页面时,他的名字可以记录在 cookie 中。

·       在用户下一次访问该页面时,可以在 cookie 中读取用户访问记录。

Cookie以名/值对形式存储,如下所示:

username=John Doe

当浏览器从服务器上请求 web 页面时,属于该页面的 cookie 会被添加到该请求中。服务端通过这种方式来获取用户的信息。

2.1 使用JS创建Cookie的几种方式

JavaScript可以使用document.cookie属性来创建、读取、及删除 cookie

JavaScript中,创建 cookie 如下所示:

document.cookie="username=John Doe";

还可以为 cookie 添加一个过期时间(以 UTC GMT 时间)。默认情况下,cookie 在浏览器关闭时删除:

document.cookie="username=John Doe; expires=Thu, 18 Dec 2043 12:00:00 GMT";

也可以使用 path 参数告诉浏览器 cookie 的路径。默认情况下,cookie 属于当前页面。

document.cookie="username=John Doe; expires=Thu, 18 Dec 2043 12:00:00 GMT; path=/";


2.2 使用JS读取Cookie

JavaScript , 可以使用以下代码来读取 cookie

var x = document.cookie;

2.3 使用JS修改Cookie

JavaScript 中,修改 cookie 类似于创建 cookie,如下所示:

document.cookie="username=John Smith; expires=Thu, 18 Dec 2043 12:00:00 GMT; path=/";

旧的 cookie 将被覆盖。


2.4 使用JS删除Cookie

删除 cookie 非常简单。您只需要设置 expires 参数为以前的时间即可,如下所示,设置为 Thu, 01 Jan 1970 00:00:00 GMT:

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT";

注意,当删除时不必指定 cookie 的值。


2.5 小实例 

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>JS简单学习</title>
    <script type="text/javascript">
      function setCookie(cname,cvalue,exdays) {
        var d = new Date();
        d.setTime(d.getTime() + (exdays*24*60*60*1000));
        var expires = "expires=" + d.toGMTString();
        document.cookie = cname + "=" + cvalue + "; " + expires;
      }
      function getCookie(cname) {
        var name = cname + "=";
        var ca = document.cookie.split(';');
        for(var i=0;i<ca.length;i++) {
          var c = ca[i].trim();
          if(c.indexOf(name)==0) { 
            return c.substring(name.length,c.length); 
          }
        }
        return "";
      }
      function checkCookie() {
        var user=getCookie("username");
        if(user!="") {
          alert("欢迎 " + user + " 再次访问");
        }else {
          user = prompt("请输入你的名字:","");
            if(user!="" && user!=null) {
              setCookie("username",user,30);
            }
        }
      }
    </script>
  </head>
  <body onload="checkCookie()"></body>
</html>

 

目录
打赏
0
0
0
0
85
分享
相关文章
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
133 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
学习Python Web开发的安全测试需要具备哪些知识?
学习Python Web开发的安全测试需要具备哪些知识?
138 61
前端开发必备!Node.js 18.x LTS保姆级安装教程(附国内镜像源配置)
本文详细介绍了Node.js的安装与配置流程,涵盖环境准备、版本选择(推荐LTS版v18.x)、安装步骤(路径设置、组件选择)、环境验证(命令测试、镜像加速)及常见问题解决方法。同时推荐开发工具链,如VS Code、Yarn等,并提供常用全局包安装指南,帮助开发者快速搭建高效稳定的JavaScript开发环境。内容基于官方正版软件,确保合规性与安全性。
294 23
前端原生Js批量修改页面元素属性的2个方法
原生 Js 的 getElementsByClassName 和 querySelectorAll 都能获取批量的页面元素,但是它们之间有些细微的差别,稍不注意,就很容易弄错!
103 1
|
2月前
|
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
67 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
WEB CAD插件通过上下文对象MxPluginContext修改UI界面的方法
本文介绍了如何使用MxPluginContext动态控制MxCAD项目的UI界面。通过该上下文对象,开发者可以灵活设置UI配置,如控制操作栏显隐、编辑按钮、添加侧边栏等。具体方法包括调用`getUiConfig()`获取并修改`mxUiConfig.json`中的属性,实现界面的定制化。此外,还提供了控制命令行聚焦的功能,解决输入框焦点锁定问题。详细代码示例和效果对比图展示了具体实现步骤,帮助开发者更好地适配项目需求。
springSecurity学习之springSecurity过滤web请求
通过配置 Spring Security 的过滤器链,开发者可以灵活地管理 Web 请求的安全性。理解核心过滤器的作用以及如何配置和组合这些过滤器,可以帮助开发者实现复杂的安全需求。通过具体的示例代码,可以清晰地了解 Spring Security 的配置方法和实践。
130 23
springboot解决js前端跨域问题,javascript跨域问题解决
本文介绍了如何在Spring Boot项目中编写Filter过滤器以处理跨域问题,并通过一个示例展示了使用JavaScript进行跨域请求的方法。首先,在Spring Boot应用中添加一个实现了`Filter`接口的类,设置响应头允许所有来源的跨域请求。接着,通过一个简单的HTML页面和jQuery发送AJAX请求到指定URL,验证跨域请求是否成功。文中还提供了请求成功的响应数据样例及请求效果截图。
springboot解决js前端跨域问题,javascript跨域问题解决
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
140 5

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等