如何在Expression Engine模板中正确引入并加载Javascript文件
Expression Engine 模板加载JavaScript文件失效解决思路
- 先验证全局变量解析状态
在模板任意位置插入<p>{base_url}</p>、<p>{base_path}</p>,访问页面对比渲染输出的实际值是否和站点配置的根地址一致,确认模板是否开启了变量解析权限,避免变量未被替换直接原样输出导致路径错误。 - 校验资源路径可访问性
右键打开页面源码,找到你插入的script标签,复制src属性的完整地址直接粘贴到浏览器地址栏访问,若返回404错误:- 确认
scripts目录是否存放在站点根目录,目录及内部文件的读取权限是否配置正确 - 确认服务器是否配置了静态资源访问拦截规则,禁止了.js文件的直接访问
- 确认
- 排查模板嵌入与过滤规则
- 确认
_footer模板已被正确嵌入到页面主模板中,不存在调用位置错误、嵌入条件未触发的问题 - 查看页面源码中是否存在你插入的script标签,若完全消失则需要检查EE的安全过滤配置,是否开启了自动剥离script标签的规则
- 确认
- 调整路径写法测试
优先使用根路径绝对地址写法规避变量解析问题:
如果你的JS文件是存放在EE模板组中作为模板管理,需要将对应模板的类型设置为JavaScript,再使用对应模板路径调用,例如存放在<script src="/scripts/main.js"></script>js模板组下的main模板,调用写法为<script src="{site_url}js/main"></script> - 清理缓存验证效果
先后清理EE后台的模板缓存、浏览器本地缓存,如有CDN服务也同步清理CDN节点缓存,避免加载历史缓存内容导致修改看起来未生效。
内容的提问来源于stack exchange,提问作者Sergio
相关产品推荐
相关产品推荐

