求助:如何在无限滚动中触发Outbrain组件?
触发Outbrain组件的解决方案
首先,你已经搞定了Instagram、Twitter和Facebook动态加载组件的触发逻辑,对于Outbrain,咱们可以用它官方提供的方法来适配无限滚动的场景,具体操作如下:
具体实现步骤
- 先确保你已经加载了Outbrain的脚本(就是你提到的
https://widgets.outbrain.com/outbrain.js),而且这个脚本要在你的触发代码执行前加载完成,避免出现对象未定义的报错。 - 在你现有无限滚动的事件回调里,添加Outbrain的触发代码就行:
window.addEventListener('DOMContentLoaded', function() { (function($) { $(document).on( 'name', function() { // 你已有的其他平台组件触发逻辑 instgrm.Embeds.process(); twttr.widgets.load(); FB.XFBML.parse(); // 新增Outbrain组件触发代码 if (typeof OUTBRAIN !== 'undefined') { // 刷新Outbrain组件,处理新加载的内容 OUTBRAIN.refresh(); // 要是refresh不生效,可以试试init(不同版本的Outbrain脚本可能有差异) // OUTBRAIN.init(); } }); })(jQuery); });
补充说明
OUTBRAIN.refresh()是Outbrain官方推荐的动态内容加载后的处理方法,它会重新扫描页面里的Outbrain组件并完成渲染。- 加上
typeof OUTBRAIN !== 'undefined'的判断,是为了防止脚本还没加载好就调用方法,提升代码的健壮性。 - 如果
refresh()没达到预期效果,可以试试OUTBRAIN.init(),部分旧版本的Outbrain脚本可能用这个方法来初始化或重新加载组件。
内容的提问来源于stack exchange,提问作者Hugo
相关产品推荐
相关产品推荐

