我在iframe中运行Angular 9 SPA,并使用davidjbradshaw iframe-resizer动态调整iframe的大小以适应角度页面,这样用户就永远看不到iframe内的滚动条了。
在超过视口高度的有角度的页面上,ngb模式弹出窗口通常显示在视口之外。然后用户必须滚动父页面才能找到弹出窗口。为简单起见,我希望在IFramed页面顶部附近显示弹出窗口,并将父页面滚动到顶部,以便始终可见。
如果试图直接从IFramed页面滚动父页面,就会出现跨域脚本冲突。davidjbradshaw iframe-resizer提供了使用与调整iframe大小的方法类似的方法来规避此类违规的能力。在他的IFrame Page Methods documentation中,达蒙提供了一种将父页面滚动到顶部的方法,如下所示:
if ('parentIFrame' in window) {
parentIFrame.scrollTo(0, 0);
}(窗口中的‘parentIFrame’)条件在运行时为正。所以全局变量parentIFrame必须存在。但是parentIFrame引用在TypeScript中是未定义的,我不知道如何从Angular 9内部获取它的句柄,以便它可以被转换。
发布于 2020-11-11 04:10:58
if ('parentIFrame' in window) {
const parentIFrame = window["parentIFrame"];
parentIFrame.scrollTo(0, 0);
}https://stackoverflow.com/questions/64775528
复制相似问题