首页 > 其他分享 >js实现关闭子窗口时刷新父窗口

js实现关闭子窗口时刷新父窗口

时间:2023-10-24 14:37:55浏览次数:32  
标签:窗口 js window 消息 关闭 刷新 浏览器

 

当我们在子窗口中关闭窗口时,可以使用JavaScript来刷新父窗口。下面是一个详细的介绍:

1. 获取父窗口对象:

   - 在子窗口中,可以使用`window.parent`属性获取父窗口的全局对象。

   - 通过`window.parent`,我们可以访问父窗口的各种属性和方法。

2. 关闭子窗口:

   - 在子窗口中,可以使用`window.close()`方法来关闭当前窗口。

   - 当我们调用`window.close()`时,子窗口将被关闭并从浏览器中移除。

3. 在子窗口中发送消息给父窗口:

   - 在关闭子窗口之前,我们可以向父窗口发送一个自定义消息,以通知父窗口刷新页面。

   - 可以使用`window.postMessage()`方法发送消息给父窗口。

4. 在父窗口中监听消息事件:

   - 在父窗口中,我们需要添加一个事件监听器来接收子窗口发送的消息。

   - 可以使用`window.addEventListener()`方法来监听消息事件,并定义相应的回调函数。

5. 在父窗口中刷新页面:

   - 在父窗口接收到子窗口发送的刷新消息后,我们可以在回调函数中执行页面刷新的操作。

   - 可以使用`location.reload()`方法来刷新当前页面。

6. 设置跨域消息传递:

   - 如果子窗口和父窗口的域不同,可能会涉及到跨域问题。

   - 在这种情况下,我们需要在父窗口和子窗口之间设置合适的跨域消息传递机制,例如使用`window.postMessage()`方法的第二个参数指定接收消息的来源。

7. 兼容性考虑:

   - 在处理窗口关闭和刷新事件时,要考虑不同浏览器的兼容性。

   - 可以使用条件语句或浏览器特定的API来处理不同浏览器的差异。

总结:通过获取父窗口对象、关闭子窗口、发送消息给父窗口、监听消息事件、刷新父窗口页面等步骤,我们可以实现在关闭子窗口时刷新父窗口。同时,还需要考虑跨域传递消息和浏览器兼容性。

本文原文来自:薪火数据   js实现关闭子窗口时刷新父窗口 (datainside.com.cn)

标签:窗口,js,window,消息,关闭,刷新,浏览器
From: https://www.cnblogs.com/datainside/p/17784701.html

相关文章

  • 使用三方摄像头,实现pjsip的视频通话功能
    提要:近期一直在做视频通话功能,主要基于pjsip来实现的,将这些过程记录下来,可能对做同类型工作的同学有所帮助!实现思路,参考pjsip原来设备采集视频、编码并rtp组包发送的思路,再在原有流程中做修改!主要关键点:1、摄像头采集完成后已经是已编码的H264/H265的流,不需要再开启pjsip的编......
  • C#对没有规律的json字符串转化为对象序列化并遍历读取
    varjsonString={"BillDate":1,"TypeName":0,"StepNum":0,"CollectCode":0,"Uncollected":1,"Tax":0,"AbstractInfo":1}现在我们要对这它进行转化并遍历读取:///<summary>///把json字符串转化为对象//......
  • Jquery向json对象添加键值对,读取键值对,删除键值对
    添加键值对varlabelName={};labelName["Name"]="James"labelName["Sex"]="1"结果:labelName={"Name":"James","Sex":1};读取键值对vargetData={"Label":"Dong","Sex":&quo......
  • jquery对复杂的集合型Json数据进行筛选(象C#的find一样)
    比如如下js下的json数据:varlist=[{"ColName":"OrderDate","ColLabel":"日期","ColNewLabel":"日期","IsChecked":1,"Sort":"0"},{"ColName":"OrderCode","ColLa......
  • C#序列化和反序列化JSON的两种方法(转载)(三)
    C#有两种方式序列化和反序列化JSON字符串:第一种是System.Web.Script.Serialization下的JavaScriptSerializer,原生自带的这种方法需要与类绑定,不方便。第二种是Json.NET第三方库方法,既可以与对象绑定,也可以反序列化为更通用的JObject,方便易用,推荐。一:  JavaScript......
  • JWT Tool:针对 JSON Web Tokens 的测试工具题解JWT cracking
    什么是JWT?JWT是JSONWebToken的缩写,它是一串带有声明信息的字符串,由服务端使用加密算法对信息签名,以保证其完整性和不可伪造性。Token里可以包含所有必要的信息,这样服务端就无需保存任何关于用户或会话的信息了。JWT可用于身份认证,会话状态维持以及信息交换等任务。JWT由三部分......
  • 项目中JSON序列化循环引用的问题
    已经很多次碰到循环引用的问题了之前碰到是在Spring中初始化过程中component之间存在循环引用怎么办 这次碰到,是在JSON序列话的时候碰到了循环引用导致的问题问题原因:在结构体中,为了实现方便数据的引用,在数据结构中加入了Parent节点,由于存在child节点,在生成json对象的时候就......
  • json的解析和生成(两种方式对比)(二)
    一:解析JSON文件       解析JSON文件用到两种方法都可以,即两种类库,都可以     用到的类库      JavaScriptSerializer类,内置于.NET中用于解析的生成JSON文件      JSON.NET库,第三方加载包    第一种用:NET自带的JavaScriptSerializer     ......
  • json简介&语法(一)
    简介:    轻量级的数据交换格式,独立于语言,与JavaScript对象的语法相同。可用于存储应用程序数据。比XML轻量。语法:  json包含值,对象,数组值:字符串,数值,真,假,空值,对象,数组如图:      一:JSON对象  1.名称/值对使用冒号  2.用花括号括起  3.用逗号......
  • JS根据属性删除数组中的对象
    JS根据属性删除数组中的对象//示例letarry=[{id:1,name:'xxx'},{id:2,name:'yyy'}]​arry=arry.filter(item=>item.id!==1)​//这里根据数组内对象的id属性进行过滤,把id为1的对象过滤掉了,并返回了过滤得到的数组 ......