Bcat
(Bcat)
1
有人能告诉我如何在头部插入一段由 POST ID 动态生成的代码吗?
我试过了,但它被放在了 head 和 body 之外。此外,它只在页面加载后才渲染,在 view-source 中看不到。
<script type="text/x-handlebars" data-template-name="/connectors/PLUGIN-OUTLET-NAME/UNIQUE-NAME">
</script>
我认为需要一个插件来实现这个功能!
这就像 \app\helpers\application_helper.rb 一样。
附:旧帖子 Add rel="amphtml" to head - any tips?
Bcat
(Bcat)
3
我使用了:
<script type="text/discourse-plugin" version="0.8">
api.onPageChange((url, title) => {
var res = url.match(/\/t\/(.*?)\/(\w+)/);
if (res && res[2] > 0) {
var amp = 'domain/amp/t/'+res[2];
if (document.getElementById("amphtml")) document.getElementById("amphtml").href = amp;
else{
var link=document.createElement('link');
link.id='amphtml';
link.rel='amphtml';
link.href=amp;
document.getElementsByTagName('head')[0].appendChild(link);
}
}
});
</script>
但查看源代码时并未出现,仅在 JavaScript 执行后才显示。
那么如何从一开始就进行渲染呢?
2020-03-13
我尝试通过向站点地图添加 <xhtml:link rel="amphtml" href="" /> 来修改
演示:GitHub - bcat95/discourse-sitemap: Generate XML sitemap for your Discourse forum. · GitHub
2020-03-14
成功了,Google 开始索引 AMP 页面