2

虽然这个问题引用了Drift,但不需要此插件的先验知识,因为这本质上只是一个 CSS 问题。简而言之,它是一个聊天小部件,它利用自动插入iframe来提供它的服务(并且应用自定义位置绝对是一件痛苦的事情)。

背景

我最近在我的客户网站上安装了一个聊天插件(由 Drift 提供支持)。在尝试将自定义位置应用到iframe.

它如此痛苦的原因仅仅是因为 Drift 基于许多非常奇怪的因素重新定位和调整其包含 iframe 的大小,因此需要跟踪这些因素。

问题

如前所述,Drift JS 会iframe根据其内容自动调整其包含的大小。然而,有时内容和计算出的高度不匹配,我们得到的高度iframe比它需要的大得多,但由于它的功能,它必须z-index比页面上的其他任何东西都高,因此iframe会创建一个大的 '没有人pointer-events可以通过的死区。

考虑以下:

漂移问题

谁能建议一种方法,使我可以将元素的指针事件保留在 Drift iframe(红色矩形)内,但也允许指针事件在iframe没有内容的区域(黄色区域)中通过?

问题(更新)

请注意图像中的红色矩形代表iframe而不是包含div即忽略我的注释

我试过的

我玩过各种价值观,pointer-events但没有运气。我认为类似的东西pointer-events: visiblefill;会起作用,但不幸的是,这仅与 SVG 兼容......

我最后的解决方案是覆盖 Drift 的计算高度,iframe但这非常脏,我不能确定我计算的高度是否正确,因此小部件最终可能看起来很糟糕。

4

0 回答 0