V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
liudewa
V2EX  ›  程序员

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

  •  
  •   liudewa · 4 天前 · 1199 次点击

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

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

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

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

    5 大佬们能不能给个思路

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

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

    主要就是 iframe 通信部分, 你实验下实际跨域有没有问题.
    wangtian2020
        11
    wangtian2020  
       4 天前
    跨域是一个后端问题,用 Nginx 给所有没跨域的请求返回时强制加一个跨域头。
    跨域实际上是浏览器看没跨域头自己阻止掉的,所以无论如何用什么办法,转发也好代理也好,把跨域头加在请求头里面就通过了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5171 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 03:48 · PVG 11:48 · LAX 19:48 · JFK 22:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.