比如 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无用
悬赏问题
- ¥20 java在应用程序里获取不到扬声器设备
- ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
- ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
- ¥15 Attention is all you need 的代码运行
- ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
- ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
- ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
- ¥80 部署运行web自动化项目
- ¥15 腾讯云如何建立同一个项目中物模型之间的联系
- ¥30 VMware 云桌面水印如何添加