浏览器抓取网页(什么是BOM?概念BOM(BrowserObjectModel)的信息操作)

优采云 发布时间: 2022-02-22 02:00

  浏览器抓取网页(什么是BOM?概念BOM(BrowserObjectModel)的信息操作)

  一、什么是 BOM?概念

  BOM(Browser Object Model)的全称是浏览器对象模型。

  浏览器可以操作:

  获取一些浏览器相关信息(窗口大小)

  操作浏览器跳转到页面

  获取当前浏览器地址栏的信息

  操作浏览器的滚动条

  浏览器信息版

  使浏览器显示弹出窗口(警报/确认/提示)

  BOM的核心是Window对象

  Window是浏览器内置的一个对象,里面收录了操作浏览器的方法

  二、window的核心对象使用

  location:当前页面的地址

  history:页面的历史

  navigator:收录浏览器相关信息

  screen:用户显示屏幕相关的属性

  文档:文档对象

  1.常用方法:prompt(用户输入对话框)、alert(提示和确认提示)、confirm(提示确认和取消对话框)、

  close(关闭浏览器窗口),open(打开一个新的 url 窗口),

  setTimeout(在指定的毫秒数后调用函数或计算表达式),setInterval(在指定的时间段内以毫秒为单位调用函数或表达式)

  

  2.定时器:它们是什么?图片轮播 2s图片换一次:用于图片轮播、在线时钟、弹窗广告。

  任何自动执行的东西很可能与计时器有关

  1)在 javascript 中,setTimeout() 方法是一个设置“一次性”调用的函数。其中 clearTimeout() 可以用来取消这个函数

  2)在javsscript中,可以使用setInterval()方法设置一个叫做“repeatedly”的函数,clearInterval()取消执行。

  3.通过窗口拼接获取浏览器窗口的大小(innerHeight和innerWidth)

  这两种方法都是获取浏览器窗口的宽度和高度(包括滚动条)

  3.浏览器滚动事件:

  //这个onscroll事件时当前浏览器的滚动条滚动的时候触发

或者鼠标滚轮滚动的时候触发

window.onscroll=function (){

console.log('浏览器滚动了')

}

//注意:前提是页面的高度要超过浏览器的可视窗口才可以

  4.浏览器滚动距离:

  可以滚动浏览器的内容,则可以得到到浏览器滚动的距离

  思考:

  浏览器是否真的滚动?

  事实上,我们的浏览器并没有滚动,它一直存在

  什么是滚动?是我们的页面

  所以,实际上浏览器并没有移动,而是页面上升了。

  因此,这不再是简单的浏览器的内容,而是我们页面的内容

  因此,您使用的是文档对象,而不是使用窗口对象

  5.浏览器(页面)滚动的距离

  scrollTop 获取页面向上滚动的距离

  两种获取方式:

  document.body.scrollTop

  document.documentElement.scrollTop

  区别:

  IE浏览器:当没有DOCTYPE声明时,同时使用

  当有 DOCTYPE 声明时,只能使用文档。documentElement.scrollTop

  铬和火狐:

  当没有 DOCTYPE 声明时,使用 document.body.scrollTop

  当有 DOCTYPE 声明时,使用 document.documentElement.scrollTop

  苹果浏览器

  两者都不使用,使用单独的方法 window.pageYOffset

  scrollLeft 获取页面向左滚动的距离

  使用场景:滚动加载判断、滚动回顶部、自动滚动列表

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线