虽然这个问题引用了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
但这非常脏,我不能确定我计算的高度是否正确,因此小部件最终可能看起来很糟糕。