• 请不要在回答技术问题时复制粘贴 AI 生成的内容
liudewa
V2EX  ›  程序员

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

  •  
  •   liudewa · Feb 27, 2025 · 2378 views
  •   You need to sign in to view this topic
    This topic created in 589 days ago, the information mentioned may be changed or developed.

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

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

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

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

    5 大佬们能不能给个思路

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

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

    主要就是 iframe 通信部分, 你实验下实际跨域有没有问题.
    wangtian2020
        11
    wangtian2020  
       Feb 28, 2025
    跨域是一个后端问题,用 Nginx 给所有没跨域的请求返回时强制加一个跨域头。
    跨域实际上是浏览器看没跨域头自己阻止掉的,所以无论如何用什么办法,转发也好代理也好,把跨域头加在请求头里面就通过了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1422 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 16:52 · PVG 00:52 · LAX 09:52 · JFK 12:52
    ♥ Do have faith in what you're doing.