使用Ghost的Code Injection功能插入备案号
我当前使用的是Theme是一个简约风格的主题 – dawn
因为最近更换了主题没留意备案号没有写上,导致腾讯云电话和邮件通知要修复,不然网站就不能访问。
之前一直都是直接改主题文件,把备案号写主题源码里。但是这样的话很麻烦,包括主题更新或者更换都会直接影响到。
在官方文档查到Code Injection这个功能是可以直接插入执行JS代码的,所以在这里顺便做个记录,可供有同样需求的朋友食用。
// 图片已丢失
具体的执行代码需要根据你所用的主题来实际修改,比如我用的主题在footer部位有copyright的声明,我就直接在这后面插入备案信息,执行脚本如下:
<script>
// 获取copyright的DOM对象
var cr = document.getElementsByClassName('copyright');
// getElementsByClassName 获取到的对象是数组,默认直接取用首位即可
cr[0].insertAdjacentHTML('afterend', '<div style="color: var(--secondary-text-color); font-size: 1.2rem; letter-spacing: -.02rem;"><a style="color:var(--secondary-text-color);" target="_blank" href="https://beian.miit.gov.cn/">您的备案号</a></div>');
</script>
参考:
- getElementsByClassName: https://developer.mozilla.org/zh-CN/docs/Web/API/Document/getElementsByClassName
- insertAdjacentHTML: https://developer.mozilla.org/zh-CN/docs/Web/API/Element/insertAdjacentHTML