为什么 Fancybox 3 在我的元素中添加 style= "display:none"?



我正在从Fancybox-2升级到Fancybox-3。我的网站使用 fancybox 将 HTML 块显示为页面上的叠加层。例如,如果你点击我的条款和条件,fancybox会使用一个文件fb/tandc.php其中包含要显示的框的所有HTML。

一些盒子使用我的数据库中的数据,并使用php编程来生成HTML - 例如,我有一个从数据库中检索到的参与者列表。

在计划升级时,我在我的网站上添加了一个开关,允许我决定是否要运行 fancybox 的第 2 版或第 3 版。在测试中,无论我使用版本 2 还是版本 3,许多框显示都相同 - 换句话说,我没有更改源代码,只是我调用 fancybox 的方式。

我的问题是,由于某种原因,某些框不显示完整内容。当我检查页面源代码时,一切都在那里,但我注意到某些元素定义了 style="display:none"。这不是来自我的代码,所以我假设 fancybox 正在添加它。

因此,我的问题是,我怎样才能阻止这种情况?

我试图找到答案,但没有成功。我确实发现了一篇帖子,说在Chrome中禁用AdBlocker可能会有所帮助,但这没有影响。

我在Chrome和FF中得到了相同的行为

我附上了屏幕截图,显示了元素如何包含样式;用于调用fancybox的代码;我正在使用的选项。

页面调试元素

呼唤花式盒子

使用的选项

刚刚添加了要显示的代码的屏幕截图。我尝试添加一种样式,我希望该样式可以覆盖fancybox正在做的事情,但也没有奏效。

要在花式框中显示的代码

这就是内容在 v2 花式框中的外观

版本 2 中的内容

如果我有完全相同的内容,但使用 v3 fancybox:

版本 3 中的内容完全相同

使用 ajax 加载带有文件中内容的 fancybox 似乎可以在插入 style="display:none" 的地方创建元素 - 我不知道为什么。但是,我想出了一个解决方法,即我在隐藏的页面上创建内联内容,然后像文档中一样简单地使用 data-src="#hiddenContent"。

当我有很多调查时,它使我的页面变得很大,每个调查都有很多参与者!

最新更新