• window.open跨页面传输


    如果使用过移动端编写过混合app,一定会知道一些跨页面传输的方式,

    但他们是怎么实现的,其实,原理一般是页面一定是先前就加载的,这样

    你才可以实现跨页面传输,不是页面都不存在,连个方向都没有,怎么传输。

    但今天这个不是一个实现移动端的,只是仿仿它,让人更加知道这个原理而已。

    主要昨天看同事看一个慕课网时弹框登录居然是个新窗口,就好奇了,这个窗口和

    窗口怎么实现传输的?

    然后就欧了。window.open

    window.open会返回一个被打开页面的对象

    opener是被打开页面会有个opener对象指向打开的页面对象

    传送门:菜鸟教程

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>1.html</title>
    </head>
    <body>
    <h1>我是页面1</h1>
        <button id="btn1">click</button>
        <script>
        var oBtn=document.querySelector("#btn1");
        var openWin;
        oBtn.onclick=function(){
            openWin=window.open("./2.html","newwindow","width=500,height=500");
            //当新窗口页面渲染加载完了,才会有你要获取它的页面的方法
            openWin.onload=function(){
                    openWin.abc();
                }
        }
        function html1(){
            oBtn.style.background="#444";
        }
        </script>
    </body>
    </html>
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>2.html</title>
    </head>
    <body>
    <h1>我是页面2</h1>
        <button id="btn1">click</button>
        <script>
        var oBtn=document.querySelector("#btn1");
        function abc(){
            document.body.style.background="red";
            opener.html1();
        }
        oBtn.onclick=function(){
            opener.html1();
        }
        </script>
    </body>
    </html>
  • 相关阅读:
    Redis 之服务器集群配置
    Redis 之持久化(rdb、aof)
    Redis 之消息发布与订阅(publish、subscribe)
    Redis事物及锁的运用
    Redis 之hash集合结构及命令详解
    对Ul下的li标签执行点击事件——如何获取你所点击的标签
    .net 面试题(3)
    SQL Server 系统时间
    分布式内存对象缓存 memcached
    MVC 模板页和布局
  • 原文地址:https://www.cnblogs.com/zhangzhicheng/p/6637039.html
Copyright © 2020-2023  润新知