找回密码
 立即注册

QQ登录

只需一步,快速开始

lwt 悬赏达人认证 活字格认证

论坛元老

310

主题

1467

帖子

7519

积分

论坛元老

积分
7519

微信认证勋章悬赏达人活字格认证

lwt 悬赏达人认证 活字格认证
论坛元老   /  发表于:2024-3-6 22:08  /   查看:1830  /  回复:7
100金币
本帖最后由 lwt 于 2024-3-6 22:10 编辑

页面中有一个外部交互页,这个页面也是活字格开发,如何点交互页中的关闭按钮关闭整个弹窗呢?并且关闭后母页面数据能重新加载。
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

在你的交互的关闭按钮中,用javaScript命令, window.parent.postMessage("关闭", "http://localhost:60367"); [/backcolor] 注意 URL,换成你弹出页面所在的URL[/backcolor] [/backcolor] 然后在你当前弹出页面工程中,添加一个js文件,里面内容如下,注意把URL换成你发布的交互的应用地址,给到端口号就行[/backcolor] function dealMessage(event) { // 有安全风险 只接受这个地址发来的消息 if (ev ...

7 个回复

倒序浏览
最佳答案
最佳答案
小年糕活字格认证
金牌服务用户   /  发表于:2024-3-6 22:08:37
来自 5#
在你的交互的关闭按钮中,用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);








再试一下


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1金币 +66 收起 理由
Nathan.guo + 66 赞一个!

查看全部评分

回复 使用道具 举报
小年糕活字格认证
金牌服务用户   /  发表于:2024-3-7 09:36:36
2#
在你外部交互的页面的关闭按钮上,加一个javaScript命令
window.parent.Forguncy.CommandHelper.executeCellCommand("close");

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




试试看

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
lwt悬赏达人认证 活字格认证
论坛元老   /  发表于:2024-3-7 11:54:29
3#
本帖最后由 lwt 于 2024-3-7 11:57 编辑
小年糕 发表于 2024-3-7 09:36
在你外部交互的页面的关闭按钮上,加一个javaScript命令
window.parent.Forguncy.CommandHelper.executeCe ...

感谢,测试过了同一个应用也就url相同,有效。我是两个应用之关使用没有效果,高手还能优化吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
小年糕活字格认证
金牌服务用户   /  发表于:2024-3-7 13:35:04
4#
lwt 发表于 2024-3-7 11:54
感谢,测试过了同一个应用也就url相同,有效。我是两个应用之关使用没有效果,高手还能优化吗?

稍等,我再看看~
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:2024-3-7 17:33:17
6#
感谢小年糕大佬的支持,亲测有效,大佬可以尝试下~~
回复 使用道具 举报
lwt悬赏达人认证 活字格认证
论坛元老   /  发表于:2024-3-7 20:48:35
7#
window.parent.Forguncy.CommandHelper.executeCellCommand("close");
其实这段就行了,只要把两个应用发布在同一地址,同一端口就行了。再次感谢!
回复 使用道具 举报
Nathan.guo活字格认证 Wyn认证
超级版主   /  发表于:2024-3-8 12:05:52
8#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部