angular - iframe Resizer 初始调整高度稍小,直到我点击
问题描述
我正在为两个应用程序(主机和子应用程序)使用带有角度 9 的 Iframe 调整器库(https://github.com/davidjbradshaw/iframe-resizer)。
对于加载的页面之一,它似乎从计算的高度中截断了 100 像素。一旦我点击页面,它就会检测到鼠标按下事件并重新计算高度到正确的大小。
我正在使用值为“taggedElement”的heightCalculationMethod,并将body data-iframe-height 插入到子索引html 中。
当我打开日志记录时,我看到以下内容:
初始负载:
[iFrameSizer][iframe] 高度计算方法设置为“taggedElement”
[iFrameSizer][iframe] HTML & body height 设置为“auto”
[iFrameSizer][iframe] 向主机页面发送消息 (iframe:3793.50830078125:1140:init)
点击后:
[iFrameSizer][iframe] 触发事件:鼠标按下
[iFrameSizer][iframe] 解析 1 个 HTML 元素
[iFrameSizer][iframe] 向主机页面发送消息 (iframe:3892.144775390625:1140:resizeParent)
不知道为什么 DOM 在初始加载时会切断 100 像素,以及当我单击它时它重新计算时它似乎有效。是否有一个 DOM 元素在将其发送到主机站点之前没有在高度计算中被拾取?
更新:
这只发生在 chrome 上。
另外,如果我在主机站点上像 0.2 秒后添加它,它似乎可以修复它:
iFrameResizer.resize();
虽然不太喜欢这种方法。
解决方案
像这样的问题总是与 CSS 有关,尝试不同的高度计算方法,如果这不起作用,您将需要解决 CSS 问题
推荐阅读
- node.js - 如何使用 AWS.SNS.publish 更改 SMS 类型
- javascript - 全部替换 ”?” 由“&”除第一个
- emacs - wdired 模式:创建、复制、删除文件和目录
- javascript - Brilliant.org 的身份验证问题(挑战)
- java - Dijksta 算法 - 邻接表和最小堆 - java
- c++ - Visual Studio C++ 调试时无法加载符号和访问冲突
- php - 解释为什么正则表达式太大 PHP/PCRE
- sql - 根据多对多关系返回记录列表的最快方法
- mysql - 使用 unixodbc 连接数据库时出现 IM004 错误(macos)
- python - 将 linsolve 解决方案映射到 Sympy 中的索引符号