You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为LeadPages中的Commoninja按钮添加window.setTimeout实现延迟显示

解决LeadPages中Commoninja按钮延迟显示的问题

问题核心原因

之前的尝试失效主要是两个关键错误:

  • 误将JavaScript代码添加到LeadPages的自定义CSS区域(该区域仅支持样式代码,无法执行脚本)
  • 原按钮代码中自带的defer属性SDK脚本会提前加载,和延迟加载脚本产生冲突

可行解决方案

步骤1:修改Commoninja按钮代码

移除原按钮代码中的SDK引用,只保留组件容器,并默认隐藏:

<div class="commonninja_component pid-590d70ff-9852-4d39-80bc-8844af276d7b" style="display:none;"></div>

步骤2:添加延迟加载/显示脚本

将以下代码添加到LeadPages的自定义HTML区域(注意不是CSS区域):

<script>
// 等待页面完全加载后执行逻辑
window.addEventListener('load', function() {
  setTimeout(function() {
    // 检查SDK是否已加载,避免重复加载
    const sdkElement = document.getElementById('commonninja-sdk');
    const buttonComponent = document.querySelector('.commonninja_component.pid-590d70ff-9852-4d39-80bc-8844af276d7b');

    if (!sdkElement) {
      // 动态创建并加载SDK
      const script = document.createElement('script');
      script.src = 'https://cdn.commoninja.com/sdk/latest/commonninja.js';
      script.id = 'commonninja-sdk';
      // SDK加载完成后显示按钮
      script.onload = () => buttonComponent.style.display = 'block';
      document.body.appendChild(script);
    } else {
      // SDK已存在,直接显示按钮
      buttonComponent.style.display = 'block';
    }
  }, 3000); // 延迟时间,单位毫秒,可按需修改
});
</script>

步骤3:验证效果

保存LeadPages页面设置后预览,按钮会在页面加载完成后3秒自动显示。

额外注意事项

  • 必须确保脚本添加到自定义HTML区域,LeadPages的CSS区域无法执行JavaScript代码
  • 脚本中加入了页面load事件监听,确保页面资源加载完成后再执行延迟逻辑,避免因页面未加载完成导致的元素查找失败

内容的提问来源于stack exchange,提问作者Mandy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 09:15:03