比如 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本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥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交换机在配置过程中老是反复重启