崩溃的程序猿 2022-01-18 17:08 采纳率: 0%
浏览 45

网站接入QQ第三方登录

个人网站接入QQ授权登录成功获取到信息后,在window.open打开的子窗体怎么关闭,和数据怎么才可以传给父窗体并刷新呀?

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2022-01-18 17:13
    关注

    window.open的子页用opener得到父页的window域,刷新直接opener.reload(),关闭打开的子页用window.close()关闭即可

    总的调用过程

    
    opener.xxx=要设置的数据
    opener.reload();//不过刷新父页和上面传递数据没多大意思啊?刷新了js设置的变量数据会丢失,除非做保存
    window.close();//关闭被打开页面
    
    

    如果传递数据需要做复杂操作,父页可以提供改一个函数给子页调用,传数据给函数就行
    父页

    
    function authcallback(data){
    //相关对data的操作
    
    }
    
    

    子页

    
    opener.authcallback('传递给父页的数据')
    window.close();
    
    
    注意:不能跨域。跨域需要用postMessage通信

    img


    有其他问题可以继续交流~

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 1月18日

悬赏问题

  • ¥15 请教下, VS QT 环境下, QTOPCUA 的源文件报错,这种情况咋查呢 ?
  • ¥20 UNITY webgl关于文档的上传和下载问题
  • ¥15 安霸cv22 + rtl8211f 千兆,udp传输丢包
  • ¥15 关于区块链和边缘环境搭建的相关问题
  • ¥15 windows远程桌面断卡重连软件卡顿问题
  • ¥30 Unity 实现扫描效果
  • ¥15 HbuilderX检测不到安卓模拟器
  • ¥15 这个main已经在filename.obj中定义是什么错 C语言
  • ¥15 关于#linux#的问题:exsi8.0系统 怎么更改web访问端口,不用80、443
  • ¥15 使用elementor设计样式