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

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

比如 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日

悬赏问题

  • ¥20 ensp,用局域网解决
  • ¥15 Python语言实验
  • ¥15 我每周要在投影仪优酷上自动连续播放112场电影,我每一周遥控操作一次投影仪,并使得电影永远不重复播放,请问怎样操作好呢?有那么多电影看吗?
  • ¥20 电脑重启停留在grub界面,引导出错需修复
  • ¥15 matlab透明图叠加
  • ¥50 基于stm32l4系列 使用blunrg-ms的ble gatt 创建 hid 服务失败
  • ¥150 计算DC/DC变换器平均模型中的参数mu
  • ¥25 C语言代码,大家帮帮我
  • ¥15 请问以下文字内容及对应编码是用了什么加密算法或压缩算法呢?
  • ¥50 关于#html5#的问题:H5页面用户手机返回的时候跳转到指定页面例如(语言-javascript)