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

如何仅在页面未通过Thymeleaf渲染时才加载指定script元素?

实现方案

方案1:单标签覆盖写法(最推荐)

直接在同一个<script>标签上同时定义原生src和th:src属性即可:

<script th:src="url-A" src="url-B"></script>
  • Thymeleaf渲染生产环境页面时,会自动用th:src指定的url-A覆盖原生src属性值,最终输出的标签只有src="url-A"
  • 开发环境无Thymeleaf处理时,th:src会被浏览器视为无效自定义属性直接忽略,页面会正常加载src指定的url-B

不需要额外的判断逻辑,代码最简洁,适配绝大多数常规场景。

方案2:双标签移除写法

如果两个场景的脚本除了src之外还有其他差异、必须分开写两个标签,可以给开发环境用的标签加上th:remove="all"属性:

<script th:src="url-A"></script>
<script src="url-B" th:remove="all"></script>
  • Thymeleaf渲染时,带th:remove="all"的标签会被整体从输出的HTML中删除,最终页面只会保留url-A的脚本标签
  • 开发环境无Thymeleaf处理时,th:remove会被视为无效自定义属性忽略,页面正常加载url-B的脚本

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 10:33:02