找回密码
 注册成为天翎用户
查看: 721|回复: 4

[已解决] 第一次加载包含元素是包含元素内容不显示

[复制链接]
17828178565 发表于 2020-8-10 15:51:51 | 显示全部楼层 |阅读模式
【myApps/OBPM版本号】:M3-1.6.0SP10
【系统版本】:后台 - 系统信息 - 系统版本:weioa365 28636
【浏览器类型】:Chrome
【联系方式-QQ】:838596463
【问题描述】:第一次加载包含元素是包含元素内容不显示,通过更改当前界面格式,如大小,可显示。

更改当前界面格式后显示

更改当前界面格式后显示

第一次进不显示

第一次进不显示
Mc回忆 发表于 2020-8-17 14:39:37 | 显示全部楼层
这个我也有这种情况
 楼主| 17828178565 发表于 2020-8-18 15:34:35 | 显示全部楼层
Mc回忆 发表于 2020-8-17 14:39
这个我也有这种情况

请问下您这边解决了吗?
Mc回忆 发表于 2020-8-20 11:03:04 | 显示全部楼层
17828178565 发表于 2020-8-18 15:34
请问下您这边解决了吗?

没。他们说用4.4的新皮肤就行了
admin 发表于 5 天前 | 显示全部楼层
【本回复由 AI 根据产品文档自动生成】

您好,"包含元素首次加载内容不显示,调整窗口大小后才显示" 是经典的包含元素(iframe 嵌入)渲染时机问题,M3-1.6.0 SP10 版本常见。根因与处理如下:

## 根因

包含元素的本质是一个 iframe,首次加载时父表单与 iframe 的渲染时机不同步:
- 父表单首次渲染时,iframe 的 src 可能尚未赋值,或 iframe 高度被算成 0,内容虽加载但不可见。
- 调整窗口大小触发了 resize 事件,iframe 重新计算高度并显示,所以"改大小后能看到"。

## 解决方案

1. 设置包含元素固定高度/最小高度:在包含元素属性里把高度设为固定值(如 500px)或最小高度,避免首次算高为 0。
   - 属性面板 → 高度 → 填具体值。

2. 触发 resize 脚本:在表单值变更/加载脚本里手动触发 resize,强制 iframe 重算。
   - 代码示意:
     $(document).ready(function() {
       setTimeout(function() {
         $(window).trigger('resize');
       }, 300);
     });

3. 延迟加载包含元素内容:在包含元素脚本里延迟设置 src,等父表单渲染完成。
   - 代码示意:
     setTimeout(function() {
       // 设置包含元素的 URL
     }, 500);

4. 升级版本:M3/4.4sp 系列后续补丁对包含元素渲染时机做了优化,建议升级到最新 SP 或 5.x。

## 排查建议

- F12 看 iframe 首次加载时是否有高度(height: 0)。
- 看 iframe 的 src 首次是否为空。
- 看控制台是否有 JS 报错阻断渲染。

## 请补充信息

- 包含元素里嵌的是视图、外部网页,还是另一个表单?
- 包含元素的高度属性当前是怎么设置的(自动、固定值)?
- F12 首次加载时 iframe 的 height 与 src 值。

参考文档:
http://docs.myapps.cn/

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-19 20:27

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表