如何仅在Blogger文章页面禁用默认JS脚本
仅在Blogger文章页禁用默认JS的解决方案
嘿,这个场景我太熟悉了!之前帮朋友调Blogger自定义模板时刚好碰到过类似问题,核心就是利用Blogger自带的条件判断标签,精准控制只在文章页应用禁用默认JS的规则,其他页面保持正常,这样就不会影响你的jQuery了。下面给你两个具体的实现方案:
方案一:通过<html>标签的条件属性控制
Blogger的<html>标签支持动态设置b:js属性,我们可以用条件判断让它只在文章页设为false:
<html expr:b:js='data:view.isItem ? "false" : "true"' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
- 原理:
data:view.isItem是Blogger内置的变量,当页面是单篇文章页时会返回true,此时b:js设为false禁用默认JS;其他页面(首页、标签页、搜索页)则保持true,默认JS正常加载,你的jQuery也能正常工作。
方案二:条件替换</body>标签
如果你更倾向于用替换</body>的方法,同样可以用条件标签包裹替换代码,只在文章页生效:
<!-- 把原来的</body>替换成下面这段 --> <b:if cond='data:view.isItem'> <!--</body>--> </body> <b:else/> </body> </b:if>
- 原理:只有当检测到是文章页时,才执行替换
</body>的操作来禁用默认JS;其他页面直接输出正常的</body>标签,不影响外部jQuery的加载和运行。
额外注意事项
- 确保你的外部jQuery文件是在
<head>标签里或者非文章页的通用区域加载,不要被条件判断意外屏蔽; - 如果你的文章页还有少量依赖默认JS的功能,可以微调条件或者单独给文章页加载必要的JS片段。
内容的提问来源于stack exchange,提问作者Sniper
相关产品推荐
相关产品推荐

