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

如何在页面完全加载后加载注入的JavaScript脚本?

实现页面完全加载后注入外部JS的方案

你可以通过以下两种方式实现页面完全加载后再执行这段脚本,避免阻塞页面渲染:

方法一:使用jQuery的$(document).ready()

直接将脚本逻辑包裹到$(document).ready()的回调中,确保DOM完全加载后再执行注入操作:

<script type="text/javascript">
$(document).ready(function() {
    var _tsid = 'XXXX';
    _tsConfig = {
      'yOffset': '0', // offset from page bottom
      'variant': 'custom_reviews', // default, reviews, custom, custom_reviews
      'customElementId': 'MyCustomTrustbadge', // required for variants custom and custom_reviews
      'trustcardDirection': 'bottomLeft', // for custom variants: topRight, topLeft, bottomRight, bottomLeft
      'customBadgeWidth': '', // for custom variants: 40 - 90 (in pixels)
      'customBadgeHeight': '', // for custom variants: 40 - 90 (in pixels)
      'disableResponsive': 'false', // deactivate responsive behaviour
      'disableTrustbadge': 'false' // deactivate trustbadge
    };
    var _ts = document.createElement('script');
    _ts.type = 'text/javascript';
    _ts.charset = 'utf-8';
    _ts.async = true;
    _ts.src = '//widgets.trustedshops.com/js/' + _tsid + '.js';
    var __ts = document.getElementsByTagName('script')[0];
    __ts.parentNode.insertBefore(_ts, __ts);
});
</script>

方法二:使用原生JavaScript(无需jQuery)

如果项目未引入jQuery,推荐用原生DOMContentLoaded事件,它会在DOM加载完成后触发,效果等同于jQuery的ready:

<script type="text/javascript">
document.addEventListener('DOMContentLoaded', function() {
    var _tsid = 'XXXX';
    _tsConfig = {
      'yOffset': '0', // offset from page bottom
      'variant': 'custom_reviews', // default, reviews, custom, custom_reviews
      'customElementId': 'MyCustomTrustbadge', // required for variants custom and custom_reviews
      'trustcardDirection': 'bottomLeft', // for custom variants: topRight, topLeft, bottomRight, bottomLeft
      'customBadgeWidth': '', // for custom variants: 40 - 90 (in pixels)
      'customBadgeHeight': '', // for custom variants: 40 - 90 (in pixels)
      'disableResponsive': 'false', // deactivate responsive behaviour
      'disableTrustbadge': 'false' // deactivate trustbadge
    };
    var _ts = document.createElement('script');
    _ts.type = 'text/javascript';
    _ts.charset = 'utf-8';
    _ts.async = true;
    _ts.src = '//widgets.trustedshops.com/js/' + _tsid + '.js';
    var __ts = document.getElementsByTagName('script')[0];
    __ts.parentNode.insertBefore(_ts, __ts);
});
</script>

补充说明

你原代码里的_ts.async = true已经能让外部JS异步加载、不阻塞渲染,但把整个注入逻辑放到页面加载完成的回调中,能确保脚本执行时页面DOM完全就绪,避免因目标元素(比如customElementId对应的节点)未加载完成导致的异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 20:09:30