问题:如何实现浏览器页面A中传递一个数据到页面B,然后页面B处理此数据之后再次返回页面A?
要求:求各位大佬详细的解答一下,或者推荐几篇不错的文章。
开始的时候以为这个问题属于跨域问题,因为自学入门的时间比较短,所以也不是很了解,可是查了一下跨域到底是什么之后发现好像不是跨域问题,所以求大佬解答一下。
问题:如何实现浏览器页面A中传递一个数据到页面B,然后页面B处理此数据之后再次返回页面A?
要求:求各位大佬详细的解答一下,或者推荐几篇不错的文章。
开始的时候以为这个问题属于跨域问题,因为自学入门的时间比较短,所以也不是很了解,可是查了一下跨域到底是什么之后发现好像不是跨域问题,所以求大佬解答一下。
单独在两个浏览器页面通信?一般来说会有个后台处理的过程吧,比如说表单提交:先在A页面填写数据,然后发送到后台处理,处理完毕后后台可以指定一个参数告诉前端要做什么,(比如去转到哪个页面)
如果你就是想在页面中传递数据,可以用js 的window.location.href='目标url?key=value&&key=value'
这种形式传递,然后在B页面获取浏览器的loaction对象,解析出参数,根据自己的需要处理完毕再用window.location.href
跳回去原来的页面。只是这种做法是很少见的,因为实际意义不大。
纯粹使用前端技术是做不到的,现代浏览器安全方面考量很多,页面之间都是隔离的,还是要靠后端实现:举一个比较蠢的例子:
浏览器A页面登录163邮箱发一封邮件,B页面登录QQ邮箱收到这份邮件。
8 回答5.8k 阅读✓ 已解决
9 回答9.1k 阅读
6 回答4.7k 阅读✓ 已解决
5 回答3.5k 阅读✓ 已解决
4 回答7.9k 阅读✓ 已解决
7 回答9.7k 阅读
5 回答7.1k 阅读✓ 已解决
postMessage API
支持两个页面跨域;只能传递字符串数据;参考 window.open;
直接引用
适用于两个页面在同一域;可以传递对象数据(对象数据使用 instanceof 做类型判断时有坑);参考 window.open;
WebSocket 服务器中转
需要页面都与服务器建立 WebSockets 连接;支持跨域;参考 WebSocket
localStorage 事件
要求两页面在同一域;数据可以通过 localStorage 传递;参考 localStorage 的 'storage' 事件;
...
其实方案不少,关键看需求。