前端问题, 我们对接了一个老系统其他公司开发的,现在要接入我们的页面(跨域的)

191 天前
 liudewa

1.老系统上 有个按钮 之前点击直接调用我们提供的接口(传入一个 id 和写死的 tableName)

  1. 现在情况是:一个 id 下会出现有两个或者多个 tableName,需要我们做一个中间页面列出 tableName 列表让用户单选一个

  2. 在中间页面,点击确定,我们自己 调用之前的接口传入 id(点击按钮老系统会传过来)和选中的 tableName

  3. 整体流程就是 老系统点击按钮(传一个 id) 要弹出我们的中间页

5 大佬们能不能给个思路

1797 次点击
所在节点    程序员
11 条回复
xiaofeixiang
191 天前
看看老系统是怎么接入的,是 iframe 还是微前端,iframe 有 postMessage ,微前端都有通信的,你应该描述仔细一点
liudewa
191 天前
@xiaofeixiang #1 老系统 之前中调用了 一个我们的接口 没有页面
xiaofeixiang
191 天前
@liudewa 还是信息不足,老系统没有页面,你们用什么形式接入?
liaozzzzzz
191 天前
老系统你们能改吗,不能改试一下直接用请求参数 301 到你们的新页面呢
IvanLi127
191 天前
在老系统的 html 响应注入一个 js 脚本,检测到目标按钮点击了,就打开你们现在要的中间页面,只要老系统 web 服务你们能控制就能做。
liudewa
191 天前
@xiaofeixiang #3 之前老系统直接调用我们的接口啊 都没页面
liudewa
191 天前
@liaozzzzzz #4 老系统不是我们公司的, 协商了,只能点击按钮的时候 调一下链接或者函数
liudewa
191 天前
@IvanLi127 #5 目前讨论的方案是 点击按钮 调用我们提供的一个函数, 函数内部生成一个 iframe 嵌入进去,ifrma 地址是我们的页面地址, 我们来控制 iframe 的显示与隐藏
liudewa
191 天前
@liaozzzzzz #4 是个弹窗
jqtmviyu
191 天前
把你的需求交给 ai, 我觉得回答挺明确的.

`题目内容+`
`解决方法是需要提供一个函数, 该函数通过外部 js 引入. 调用该函数时, 生成一个 iframe 页面, 该页面生成一个可以选择 tableName 页面, 选中 tableName 后把它传递到 iframe 外部, 也就是主页面, 该如何实现`

主要就是 iframe 通信部分, 你实验下实际跨域有没有问题.
wangtian2020
191 天前
跨域是一个后端问题,用 Nginx 给所有没跨域的请求返回时强制加一个跨域头。
跨域实际上是浏览器看没跨域头自己阻止掉的,所以无论如何用什么办法,转发也好代理也好,把跨域头加在请求头里面就通过了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1114661

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX