首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    浏览器窗口间通信

    浏览器窗口间通信 浏览器多个标签页窗口间通信,主要是指的同源的多个页面间的通信,主要方法有本地存储通信、Web Worker通信、Web Socket通信。...本地存储通信 通过浏览器对于同源页面本地存储是共享的策略实现通信,主要可以使用localStorage、cookie、indexDB,注意对于sessionStroage是在同一会话有效的,在MDN中提到...portArr.forEach( v => { v.postMessage(e.data); }) } } Web Socket 使用Web Socket将服务器作为数据中转站进行数据传输,可以实现浏览器窗口间通信...在 WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。...在WebSocket API中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道,两者之间就直接可以数据互相传送。

    1.3K10

    探索IE浏览器窗口

    探索IE浏览器窗口 点燃灵感   星之海洋 不知大家是否见过浏览器窗口(哎呦,不要打我!)...这类似于被按了F11后的浏览器模式,乍眼看去,又有了一种别有洞天的感觉。...(简称模式窗口),置在父窗口上,必须关闭才能访问父窗口(建议尽量少用,以免招人反感);showModelessDialog()(简称无模式窗口),打开后不必关闭也可访问父窗口打开的窗口。...,翻译过来就是HTML应用程序,你只要简单的用.hta为扩展名保存HTML页面就算创建了一个HTA文件,下面我们就用HTA来编个窗口,将以下这段代码保存为.hta文件,然后再用浏览器打开,会发现什么?...它可以设为 thick 指定窗口为粗边框 dialog window 指定窗口为对话框 none 指定窗口无边框 thin 指定窗口为窄边框 BORDERSTYLE属性(borderStyle)

    1.6K10

    Selenium对当前浏览器窗口截图

    WebDriver提供了几种截图函数来截取当前窗口: get_screenshot_as_file() save_screenshot() 第一种截图方法 ---- ---- ---- #select.py...driver.maximize_window() driver.get("https://www.testclass.cn") #调用driver.get_screenshot_as_file(filename)方法,对当前浏览器打开界面进行截图...图片保存路径为: D:\testclass.png 生成带时间戳的截图 ---- ---- ---- 以上功能实现了当前屏幕窗口截图,但是存在一个弊端:相同路径下生成的图片总会被新的图片覆盖。...", time.localtime(time.time())) print(picture_time) #调用driver.get_screenshot_as_file(filename)方法,对当前浏览器打开界面进行截图...H_%M_%S", time.localtime(time.time())) print(picture_time) #调用driver.save_screenshot(filename)方法,对当前浏览器打开界面进行截图

    2.3K10

    浏览器标签tab窗口切换时事件状态侦听

    浏览器标签tab窗口切换时事件状态侦听 背景 项目中使用到了websocket,用户在浏览器窗口切换或者浏览器最下话后,websocket的状态有可能断开,且没有重试机制,所以想通过用户回到当前页面的时候...,系统能够自动刷新,重新连接socket 解决方法 通过添加浏览器的监听事件,判断用户是否离开了当前的页面。...visibilitychange', function() { var isHidden = document.hidden; if (isHidden) {//切离该页面时执行 alert("浏览器处于最小化状态了..."); document.title = '当焦点不在当前窗口时的网页标题'; } else {//切换到该页面时执行 alert("页面处于当前状态了");...location.reload(); //刷新页面 //window.location.reload() } }); document.visibilityState的值为: hidden(当浏览器最小化

    2.8K40

    浏览器跨 Tab 窗口通信原理及应用实践

    所谓多窗口下进行互相通信,是指在浏览器中,不同窗口(包括不同标签页、不同浏览器窗口甚至不同浏览器实例)之间进行数据传输和通信的能力。...方式一:Broadcast Channel() Broadcast Channel 是一个较新的 Web API,用于在不同的浏览器窗口、标签页或框架之间实现跨窗口通信。...接收消息:通过监听 BroadcastChannel 对象的 message 事件,可以在窗口中接收到来自其他窗口发送的消息。 同时,Broadcast Channel 遵循浏览器的同源策略。...与其他 Worker 不同的是,SharedWorker 可以被多个浏览器 TAB 页面共享,且可以在同一域名下的不同页面之间建立连接。...这样,消息就可以在不同的浏览器 TAB 页面之间传递。 最后,通过调用 port.start() 启动端口对象,使其开始接收消息。

    1.4K10

    新型浏览器挖矿技术可在浏览器窗口关闭的情况下持续挖矿

    实际上,当用户关闭了浏览器之后,它们的挖矿活动将会停止,并影响攻击者的收益。 但是,我们近期发现了一种新型浏览器挖矿技术,而这种技术可在浏览器窗口关闭的情况下持续挖门罗币。...用户浏览完毕,关闭Chrome窗口。 CPU活动仍保持高占用率,因为挖矿活动仍在进行。...在这种技术中,虽然浏览器窗口已经被关闭,但还有一个隐藏窗口仍处于打开状态,因为恶意代码会创建一个浏览器窗口,并将其隐藏在任务栏右下角的时间后面,隐藏窗口会基于用户屏幕的分辨率来进行调整,适配规则如下:...,我们就可以了解到这种流氓浏览器窗口是从何而来的,并且知道它加载了哪些恶意内容。...除此之外,右键点击任务栏的浏览器图标并选择“关闭窗口”也没办法彻底终止它的运行。

    2.1K90

    JS 获取浏览器窗口大小clientWidth、offsetWidth、scrollWidth「建议收藏」

    常用: JS 获取浏览器窗口大小 // 获取窗口宽度 if (window.innerWidth) winWidth = window.innerWidth; else if ((document.body...document.documentElement.clientHeight; winWidth = document.documentElement.clientWidth; } 详细: 关于获取各种浏览器可见窗口大小...offsetTop 与 offsetParent 很复杂,不同浏览器有不同解释,浮动一下解释又不同了,所以我们一般只要理解通过二者可以获得控件在浏览器中的绝对位置即可。...简单地说 clientHeight 就是透过浏览器看内容的这个区域高度。...clientWidth 是对象可见的宽度,不包滚动条等边线,会随窗口的显示大小改变。 offsetWidth 是对象的可见宽度,包滚动条等边线,会随窗口的显示大小改变。

    10.2K20
    领券