我们的用户抱怨在 iPhone 上加载主题时出现屏幕跳动。这似乎与 7 月份解决的一个类似问题非常相似:
我们使用的配置如下:
- Digital Ocean Droplet:1 GB RAM,25 GB 磁盘
- Ads 插件(含 AdSense),版本 2.4.0.beta 9
- Online User 插件
这是一个小型论坛,拥有 800 名用户,相关指标如下:
我们已安装 Digital Ocean Metrics Agent 以获取更多信息。
这是否可能是性能问题?我们是否需要增加 RAM?
提前感谢。
我的看法是:这并非性能问题,而且 7 月份所做的修复也不够彻底,因为该问题(抖动)在移动设备上依然存在,且仅在启用“每隔 n 条帖子插入广告”选项时才会出现。
该问题令用户感到极其烦扰和困扰,因此我们不得不直接移除了该选项。
每 N 篇帖子插入广告是否会导致移动端的帖子大小不一致,@neil?
neil
(Neil Lalonde)
4
我以为 @eviltrout 已经找到解决方案并修复了问题。@Cazadividendos @Paracelsus 请问是哪家广告平台?广告尺寸是多少?您是说这种跳动现象仅出现在移动设备上吗?
该问题仅在 iPhone 上被报告。在 Android 上运行正常,无跳动现象。
广告平台:AdSense
广告尺寸:响应式尺寸(包括通用广告和移动广告)
AdSense 第 n 篇帖子代码:5
我的设置(曾经)与 Cazadividendos 完全相同,除了广告是每 10 条帖子出现一次,而且 Android 和 iPhone 用户都报告了相同的行为(尤其是在移动端的 Chrome 浏览器上)。
实际上,我怀疑桌面版也发生了同样的问题,只是因为垂直空间更大,你仍然可以在视觉上找到内容,而不需要一直重新滚动。
如果你愿意,我可以启用它,你可以亲自看看,这对有帮助吗 @neil?
neil
(Neil Lalonde)
8
我尽量总结一下这里的情况……
我已经在另一个主题中提到了这个问题,请大家阅读:
深入调查后,我尝试使用 CSS 为响应式广告应渲染的广告帖子之间的容器添加尺寸。例如:
.adsense-post-bottom.adsense-responsive {
height: 100px; // 请不要超过这个高度
}
但是……结果如下:
我在广告插件或 Discourse 核心代码中找不到任何添加这些内联 !important 样式的代码,看来是 AdSense 的 JS 选择了“核选项”,执意要对容器施加任意的高度。所以它自动对所有内容使用了 !important!
看来 AdSense 已经让这件事变得不可能了。现在的选项有:
- 从 AdSense 插件中移除“响应式”作为尺寸选项(对于目前使用响应式尺寸的用户,回退到桌面端 728x90,移动端 300x250)。
- 仅在帖子间位置移除“响应式”(尽管这种跳动现象发生在所有位置)。
- 在此 meta 上发布一个关于该问题的主题,允许人们继续使用“响应式”,并在所有 AdSense 尺寸设置的描述中链接到该主题。
- 这个“自动 !important”是来自广告插件还是 Discourse 核心,而我找不到它?
编辑:
也许我现在理解这个建议了:
所以你需要能够选择“响应式”,然后在插件设置中设置最大宽度和最大高度。
我将关闭此主题,并在此主题中继续讨论: