lwt 发表于 2024-3-6 22:08:36

活字格应用之间页面交互问题

本帖最后由 lwt 于 2024-3-6 22:10 编辑

页面中有一个外部交互页,这个页面也是活字格开发,如何点交互页中的关闭按钮关闭整个弹窗呢?并且关闭后母页面数据能重新加载。

小年糕 发表于 2024-3-6 22:08:37

在你的交互的关闭按钮中,用javaScript命令,


window.parent.postMessage("关闭", "http://localhost:60367");


注意 URL,换成你弹出页面所在的URL

然后在你当前弹出页面工程中,添加一个js文件,里面内容如下,注意把URL换成你发布的交互的应用地址,给到端口号就行


function dealMessage(event) {
    // 有安全风险 只接受这个地址发来的消息
    if (event.origin !== "http://localhost:8080") {
      return;
    }

    window.parent.Forguncy.CommandHelper.executeCellCommand("close");
}

window.addEventListener("message", dealMessage);








再试一下


小年糕 发表于 2024-3-7 09:36:36

在你外部交互的页面的关闭按钮上,加一个javaScript命令
window.parent.Forguncy.CommandHelper.executeCellCommand("close");

然后在 弹出的那个页面上,放一个 按钮,起个名称,叫close
命令中放一个 关闭弹出页面




试试看

lwt 发表于 2024-3-7 11:54:29

本帖最后由 lwt 于 2024-3-7 11:57 编辑

小年糕 发表于 2024-3-7 09:36
在你外部交互的页面的关闭按钮上,加一个javaScript命令
window.parent.Forguncy.CommandHelper.executeCe ...
感谢,测试过了同一个应用也就url相同,有效。我是两个应用之关使用没有效果,高手还能优化吗?

小年糕 发表于 2024-3-7 13:35:04

lwt 发表于 2024-3-7 11:54
感谢,测试过了同一个应用也就url相同,有效。我是两个应用之关使用没有效果,高手还能优化吗?

稍等,我再看看~

Nathan.guo 发表于 2024-3-7 17:33:17

感谢小年糕大佬的支持,亲测有效,大佬可以尝试下~~
{:5_105:}

lwt 发表于 2024-3-7 20:48:35

window.parent.Forguncy.CommandHelper.executeCellCommand("close");
其实这段就行了,只要把两个应用发布在同一地址,同一端口就行了。再次感谢!:hjyzw:

Nathan.guo 发表于 2024-3-8 12:05:52

{:5_110:}
页: [1]
查看完整版本: 活字格应用之间页面交互问题