BOM浏览器对象模型

BOM(Browser Object Model) 浏览器对象模型 操作浏览器api和接口

1.打开链接

    返回一个窗口对象                                                                                                                              w =  window.open(url,"_blank",'width=300px,height=300px');

    新窗口宽高
    w.resizeTo(400,400);

    新窗口位置
    w.moveTo(100,100);

    关闭窗口
    w.close();

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><button>打开页面</button><button>关闭窗口</button><script>var btn1 = document.querySelector('button');var btn2 = document.getElementsByTagName('button')[1];btn1.onclick = function(){// 打开一个链接  一个页面w =  window.open('https://baidu.com','_blank','width=600px,height=600px');console.log(w,'窗口对象');// 控制新窗口打开宽高 w.resizeTo(400,400);//  控制窗口打开位置 x y w.moveTo(200,200);}btn2.onclick = function(){// 关闭窗口w.close();}</script>
</body>
</html>

浏览器运行结果如下:

 

2.系统对话框

    alert() 弹框
    confirm() 确认框 
    prompt() 提示输入框

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>// 弹框 alert('我是一个弹框');// 确认框 var res = confirm('您确定吗');//返回值true或者falseconsole.log(res);if(res){console.log('删除成功')}else{console.log('取消删除')}// 提示框var res = prompt('请输入您的姓名');console.log(res);</script>
</body>
</html>

浏览器运行结果如下:

 

3.location对象和history对象

   加载当前文档相关信息 提供导航功能

      window.location document.location  location 单独使用
      host 
      hostname
      port
      protocol 
      pathname
    1.assign() 打开页面 url  新增一条历史记录
    2.replace(url) 替换页面  不会新增历史记录
    3.reload() 刷新页面 true/false

    length 访问过得网址列表数
    forward() 前进一个历史记录
    back()  后退一个历史记录
    go()  前进或者后退 number

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><button>跳转页面</button><button>替换页面</button><button>刷新页面</button><button>前进下一个历史记录栈页面</button><script>// console.log(location,'加载当前窗口文档相关信息,提供导航功能');// console.log(location === window.location);// console.log(location === document.location);// console.log(window.location === document.location);var btn1 = document.body.children[0];var btn2 = document.body.children[1];var btn3 = document.body.children[2];var btn4 = document.body.children[3];btn1.onclick = function(){// 页面跳转 并且会在浏览器产生一条历史记录location.assign('./4-网易严选滚动.html')}btn2.onclick = function(){// 页面替换 将页面替换为页面 不会在浏览器产生一条历史记录location.replace('./4-网易严选滚动.html')}btn3.onclick = function(){// 刷新页面 true/false true表示请求服务器资源 false请求浏览器缓存location.reload(true);}btn4.onclick = function(){// 前进到下一个历史记录栈// history.forward();// 前进一个下一个历史记录页面history.go(1)}console.log(history.length);</script>
</body>
</html>

浏览器运行结果如下:

 

4.超时调用和间歇调用

    超时调用:超过等待得时间函数执行一次 返回值返回id
    id = setTimeout(function(){

    },wait) 
    clearTimeout(id)
    间歇调用:每隔一段时间函数执行一次 返回值返回id
    id =  setInterval(function(){

    },time)
    clearInterval(id)

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><div></div><script>/*** 超时调用 * 超过wait时间后执行函数一次  wait单位毫秒 * setTimeout(函数,wait) 定时器* 返回一个定时器id * 取消超时调用 clearTimeout(id)*///  var id = setTimeout(function(){//   console.log('我是超时调用')//  },2000);// //  取消超时调用//  clearTimeout(id);//  console.log(id);/*** 间歇调用 setInterVal * 参数:函数 间隔时间* 每隔间隔时间函数执行一次 返回值是id* 取消间歇调用clearInterval(id)*/// var id = setInterval(function(){//   console.log('我被调用了')// },1000);// // 取消间歇调用// clearInterval(id);// console.log(id);var div = document.querySelector('div');div.innerHTML = new Date().toLocaleString();setInterval(function(){div.innerHTML = new Date().toLocaleString()},1000)</script>
</body>
</html>

浏览器运行结果如下:

 

5.ajax 

     异步JavaScript和XML,结合HTML、XML、CSS和服务器进行通信和数据交互得一种方法
            可以动态更新局部数据不需要刷新页面。需要连接自己的服务器接口

  5.1get有参 无参
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="https://cdn.bootcdn.net/ajax/libs/qs/6.11.2/qs.min.js"></script>
</head>
<body><script>// 1.创建XMLHttpRequest请求实例var xhr = new XMLHttpRequest();var params = {page:1,pageSize:10};// 将js对象转为查询字符串 ?page=1&pageSize=10var parseObj = Qs.stringify(params);// console.log(parseObj);// 2.打开一个连接xhr.open('get','自己的服务器IP地址:端口号/index/article/pageQuery?'+parseObj);// 3.发送请求xhr.send();// 4.监听响应xhr.onreadystatechange = function(){if(xhr.readyState ===4 && xhr.status===200){// console.log(xhr.response);var res = JSON.parse(xhr.response);// console.log(res);res.data.list.forEach(function(item){// item---> {title:"",content:""}var dt = document.createElement('dt');var dd = document.createElement('dd');dt.innerHTML = item.title;dd.innerHTML = item.content;document.body.appendChild(dt);document.body.appendChild(dd);})}}</script>
</body>
</html>

浏览器运行结果如下:


  5.2post 有参 参数格式
        5.2.1 post-json请求
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script>// 1.创建XMLHttpRequest请求实例var xhr = new XMLHttpRequest();var form = {username:'admin2',password:123321}// 2.打开一个连接xhr.open('post','自己的服务器地址');// 设置请求头数据格式为json格式xhr.setRequestHeader('Content-Type','application/json')// 3.发送请求xhr.send(JSON.stringify(form));// 4.监听响应xhr.onreadystatechange = function(){if(xhr.readyState ===4 && xhr.status===200){console.log(JSON.parse(xhr.response))}}</script>
</body>
</html>

控制台运行结果如下:

        5.2.2 post-表单请求
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="https://cdn.bootcdn.net/ajax/libs/qs/6.11.2/qs.min.js"></script>
</head>
<body><script>// 1.创建XMLHttpRequest请求实例var xhr = new XMLHttpRequest();// 2.打开一个连接xhr.open('post','自己的服务器地址');var params = {username:"狗蛋123",password:123321}// 将js对象转为表单格式数据(查询字符串)传给后端 var formObj = Qs.stringify(params);// 设置请求头格式为表单格式 xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');// 3.发送请求xhr.send(formObj);// 4.监听响应xhr.onreadystatechange = function(){if(xhr.readyState ===4 && xhr.status===200){console.log(JSON.parse(xhr.response))}}</script>
</body>
</html>

控制台运行结果如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/229816.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++——取地址和自增运算

今天做了道题一下给我整蒙了&#xff0c;把实验探索发篇文章&#xff0c;题目如下&#xff1a; int a[]{10,11,12},*p&a[0];执行完*p;*p1;后a[0],a[1],a[2]的值各为多少 答案是 10, 12, 12怎么理解*p,*p1呢&#xff0c;我觉得可以用汉语把代码读一下&#xff0c;p&#xf…

SAP PI SFTP适配器发送方和接收方文件编码转换问题

Sender Adapter 发送方 PI默认是以UTF-8解析文件内容&#xff0c;当文件内容为日文或其他编码时&#xff0c;非英文、数字的内容解析结果将会是乱码&#xff0c;需要在PI中做以下设置。 Advanced页签->Advanced Mode中添加参数&#xff1a;encodingFormat MS932&#xff…

基于PaddleOCR银行卡识别实现(三)

前言 基于PaddleOCR银行卡识别实现&#xff08;一&#xff09; 基于PaddleOCR银行卡识别实现&#xff08;二&#xff09; 前两篇文章讲了检测模型和识别模型的实现&#xff0c;这一篇文章姗姗来迟&#xff0c;将讲解下两个模型的串联应用和PaddleOCR的源码精简&#xff0c;下面…

新手老师如何管理班级的日常工作

作为一名新手老师&#xff0c;管理班级的日常工作可能会是一项挑战&#xff0c;但以下是一些可能有用的建议&#xff1a; 建立良好的班级文化 班级文化是班级氛围的重要组成部分&#xff0c;对于学生的学习和成长具有重要影响。作为老师&#xff0c;要积极营造一种积极向上、团…

Jenkins 如何查看已经记录登录服务器的凭证密码

文章目录 一、背景描述二、解决方案一&#xff08;查看所有账号密码&#xff09;三、解决方案二&#xff08;查询指定账号密码&#xff09; 一、背景描述 在日常的开发过程中&#xff0c;有时候会出现忘记开发、测试服务器的登录密码的情况。此时恰巧 Jenkins 上记录了登录该主…

AI工具导航网站(包含写作、翻译、设计、论文润色去重的AI工具集)

人工智能工具导航网站集合了国内外各种热门、创意、有趣、前沿的AI工具盒网站&#xff0c;方便用户迅速访问和体验各种AI应用。 关注底部公众号回复"126899"获取工具集链接。 一、写作翻译编程设计AI工具集 AI写作工具&#xff1a;这些工具可以帮助用户生成或优化各…

Docker的基本概念和优势,以及在应用程序开发中的实际应用

文章目录 概要 基本概念 容器 (Container): 镜像 (Image): Dockerfile: 仓库 (Repository): 容器编排 (Orchestration): Docker Compose: Docker Daemon 和 Docker Client: 网络 (Network): 数据卷 (Volume): 主要优势 应用场景 小结 概要 Docker 是一种容器化平台&#xff0c;…

搞定这三个问题 伦敦金止损就没问题

笔者多次强调&#xff0c;做伦敦金交易&#xff0c;重要的是风险控制。而止损是我们风险控制中一个很重要的概念。设定好止损&#xff0c;就是风险控制的好开始。下面我们通过三个问题&#xff0c;来解决止损的问题。 问题一&#xff0c;你的止损位在哪里&#xff1f;要做止损&…

金字塔原理

金字塔原理 来自于麦肯锡公司的第一位女性咨询顾问芭芭拉•明托的著作《金字塔原理》。 原理介绍 此原理是一种重点突出、逻辑清晰、主次分明的逻辑思路、表达方式和规范动作。 金字塔的基本结构是&#xff1a;中心思想明确&#xff0c;结论先行&#xff0c;以上统下&#xff…

无需部署服务器,如何结合内网穿透实现公网访问导航页工具Dashy

文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务&#xff0c;具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起&#xff0c;形成自己的导航…

羊大师不说,你会知道酸奶也能加热吗?

羊大师不说&#xff0c;你会知道酸奶也能加热吗&#xff1f; 酸奶是一种非常受欢迎的健康食品&#xff0c;不仅可以冷饮&#xff0c;还可以热着喝哦&#xff01;你可能会好奇&#xff0c;酸奶热着喝会不会破坏其营养价值呢&#xff1f;别着急&#xff0c;让小编羊大师来为你解…

短 URL 生成器设计:百亿短 URL 怎样做到无冲突?

Java全能学习面试指南&#xff1a;https://javaxiaobear.cn 我们先来看看&#xff0c;当高并发遇到海量数据处理时的架构。在社交媒体上&#xff0c;人们经常需要分享一些 URL&#xff0c;但是有些 URL 可能会很长&#xff0c;比如&#xff1a; https://time.geekbang.org/hyb…