$lang->extension->compatibleVersions['ipd3.2'] = '禅道IPD版 3.2'; 前端<iframe>的方式嵌入禅道,发现和禅道本身的嵌入逻辑冲突了,如何解决-问答 - 禅道项目管理软件
禅道配置
598185

前端<iframe>的方式嵌入禅道,发现和禅道本身的嵌入逻辑冲突了,如何解决已解决 悬赏5积分

提问者祝日天 答案数1 阅读数122 发表时间2024-12-06 09:30:06

公司想引入禅道,但是由于自有系统不允许打开新窗口,只能通过内嵌的方式;

现在的方案是通过html的<iframe src=”禅道单点地址” />引入,发现禅道中某些功能不可用,查看源码发现是禅道有自己的嵌入逻辑!

请我我如何配置或者修改,使禅道可以在我的<iframe /> 中完美运行?

禅道版本:18.10

安装包类型:源码包

操作系统:Ubuntu

客户端浏览器:Firefox

设置备注
内容
答案列表
🤖
2024-12-06 09:45:18

禅道取消禁止iframe嵌入,在zentao/config/my.php加一句,$config->xFrameOptions  = false; 这样试试

🚛
2024/12/06
试了试,禅道中的all.js还是报错!
两个系统域名已经保持了一致,所以不存在跨域问题了;
现在的问题是禅道是通过ifrme标签引入的,禅道中的all.js脚本报错,大致原因是禅道自有的iframe和父ifrme冲突了。
感谢您的回答~
🤖
2024/12/06
您好,禅道方面除了$config->xFrameOptions = false; 没有别的限制了,之前有嵌入的用户也没有反馈过这个问题。集成方面的问题,需要您自己研究调试下了,资源有限,目前不提供二次开发方面的详细支持,抱歉。
🍟
2024/12/06
单独访问能正常访问吗?iframe下面all.js报错具体的错误是什么?
🚛
2024/12/06
单独访问没有问题,以下是all.js中的报错信息:
“Uncaught TypeError: Cannot read property 'apps' of undefined
at n (all.js?v=18.10:20056)”
其实单独访问应该是进入到“if (parent === window)”中的,但是我是iframe嵌套引入的禅道,他没进入到这个if条件中 @王春生
🤖
2024/12/06
嵌入的代码是怎么写的,可以截图看一下
🚛
2024/12/06
我是这么写的:
《iframe id="iframe-zt" src="https://xxxxx.com/zentao-api/sso/login/chandaologin?redirectTarget=qa" class="main-content"》《/iframe》
src是单点的地址,后端重定向到禅道Bug首页。
我也给iframe配置过一些sandbox属性,仍然相同的报错~
🤖
2024/12/06
您好,和研发同事确认了下,现在的前端框架,不支持在iframe里嵌入禅道运行了。
🚛
2024/12/06
好的,再次感谢,回答很详尽
联系我们
联系人
丁芝/高级客户经理
电话(微信)
17663906485
QQ号码
1481227768
联系邮箱
dingzhi@chandao.com
返回顶部
丁芝
高级客户经理
17663906485
1481227768
统一服务热线 4006-8899-23
我要提问提问有任何问题,您都可以在这里提问。 问题反馈反馈点击这里,让我们聆听您的建议与反馈。