美酒没故事° 2023-02-07 10:44 采纳率: 37.8%
浏览 98
已结题

两个网站怎么跳转时隐藏式传参数?

比如 http://localhost:8080 跳到 http://localhost:8081 ,需要传递参数token,不在地址栏传递的话,还有什么解决办法?

  • 写回答

4条回答 默认 最新

  • 简效 2023-02-07 11:23
    关注

    在A页面中使用iframe标签加载B页面并隐藏,当点击跳转时,使用postMessage发送消息给B页面,在B页面中监听A页面发过来的数据,然后保存到localStorage中,然后当A页面使用window.open打开B页面时,B页面直接去localStorage中取数据,这样就完成了页面跳转并传参

    // A页面
    <span onClick=”toB();”>跳转</span>
    <iframe id=”myIframe” src=“http://b.com” style=”display: none” />
    
    <script>
        function toB(){
            var myIframe = document.getElementById(“myIframe”);
            if(myIframe){
                var data = {data: 1};
                myIframe.contentWindow.postMessage(JSON.stringify(data), “http://b.com”);
                window.open(“http://b.com”, ”_blank”);
            }
        }
    </script>
    
    
    
    // B页面
    <script>
        var aData = localStorage.getItem(“aPageData”);
        if(aData){
            doSomething(aData);     // 当能获取到数据时就说明是从A页面跳转过来的
            localStorage.removeItem(“aPageData”);
        }else{
            window.addEventListener(“message”, receiveMessage, false);
        }
        function receiveMessage(event){
            if (event.origin !== “http://a.com”) return;
            if(event.data){
                localStorage.setItem(“aPageData”, event.data);
            }
        }
    </script>
    
    
    

    ————————————————
    版权声明:本文为CSDN博主「River_何」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_43552879/article/details/127223631

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月15日
  • 已采纳回答 2月7日
  • 修改了问题 2月7日
  • 创建了问题 2月7日

悬赏问题

  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启