Tags 在特定的div blogger中显示博客作者、标题、标签和时间
为了搜索引擎优化的目的,我想复制这篇博客文章的设计 我要复制的特定部分是id=“enter posts”的div,它包含文章的标题、作者、日期和标签 我试着贴上如下标签:Tags 在特定的div blogger中显示博客作者、标题、标签和时间,tags,label,title,blogger,author,Tags,Label,Title,Blogger,Author,为了搜索引擎优化的目的,我想复制这篇博客文章的设计 我要复制的特定部分是id=“enter posts”的div,它包含文章的标题、作者、日期和标签 我试着贴上如下标签: 关于 对于作者等我想添加的其他元素,问题是: 没有显示任何内容,但是当我将这些标签放在文章正文标题之前或文章末尾时,它们会正常显示。我该怎么办?您不能在帖子正文或小部件外部使用类似的博客数据标记。请阅读虽然这是一篇老文章,但我可以为那些寻求答案的人发布一些澄清。事实上,并没有blogger提供的数据:post.authorP
关于
对于作者等我想添加的其他元素,问题是:
没有显示任何内容,但是当我将这些标签放在文章正文标题之前或文章末尾时,它们会正常显示。我该怎么办?您不能在帖子正文或小部件外部使用类似
的博客数据标记。请阅读虽然这是一篇老文章,但我可以为那些寻求答案的人发布一些澄清。事实上,并没有blogger提供的数据:post.authorPhoto.url
大多数模板编写器从/feed/posts/default
获取数据,解析JSON并在页面加载后更新HTML。然后,他们混淆了js代码,使新来者认为这一切都是从blogger获取的。除此之外,谁知道还有什么东西被拿走了
例如,对于上面的博客,您可以从
我的实现
var HttpClient=function(){
this.get=函数(aUrl、aCallback){
var anHttpRequest=newxmlhttprequest();
anHttpRequest.onreadystatechange=函数(){
如果(anhtprequest.readyState==4&&anhtprequest.status==200)
aCallback(anhtprequest.responseText);
}
anhtprequest.open(“GET”https://cors-anywhere.herokuapp.com/“+aUrl,对);
anHttpRequest.send(空);
}
}
$(文档).ready(函数($){
//这是获取帖子id的一种方法,其他方法也是可能的
var post_id=$(“div[itemprop='articleBody']”)attr('id');
post_id=post_id.match(/.*post-body-(\d+).*/);
post\u id=((post\u id!==null&&post\u id.length>0)?post\u id[1]:null);
if(post_id!==null){
$.ajax({
url:“/feeds/posts/default/”+post_id+“?脚本中的alt=json”,
键入:“get”,
数据类型:“jsonp”,
成功:功能(数据){
var image=((data.entry.author[0][“gd$image”].src!==null)?data.entry.author[0][“gd$image”].src:false);
如果(image!=false){//site-correct类在这里
$('.author image').attr('src',image);
}
var描述=假;
var client=新的HttpClient();
client.get((data.entry.author[0].uri[“$t”]).replace(“http”,“https”),函数(响应){
var doc=document.documentElement.cloneNode();
doc.innerHTML=响应;
$content=$(doc.querySelectorAll('tr');
对于(var lk=0;lkso我需要为此创建自己的小部件?或者你能告诉我在我给你的示例中他们是如何做到的吗?只有使用JavaScript和blogger json提要,你才能做到这一点。谢谢你的帮助,但我不是编程方面的专家:)
var HttpClient = function() {
this.get = function(aUrl, aCallback) {
var anHttpRequest = new XMLHttpRequest();
anHttpRequest.onreadystatechange = function() {
if (anHttpRequest.readyState == 4 && anHttpRequest.status == 200)
aCallback(anHttpRequest.responseText);
}
anHttpRequest.open("GET", "https://cors-anywhere.herokuapp.com/"+aUrl, true);
anHttpRequest.send(null);
}
}
$(document).ready(function($){
// This is one way to get post id, other ways are possible too
var post_id = $("div[itemprop='articleBody']").attr('id');
post_id = post_id.match(/.*post-body-(\d+).*/);
post_id = ((post_id!==null && post_id.length>0) ? post_id[1] : null);
if(post_id!==null) {
$.ajax({
url: "/feeds/posts/default/"+post_id+"?alt=json-in-script",
type: 'get',
dataType: "jsonp",
success: function(data) {
var image = ((data.entry.author[0]["gd$image"].src!==null) ? data.entry.author[0]["gd$image"].src : false);
if(image!=false) { //site correct class here
$('.author-image').attr('src', image);
}
var description = false;
var client = new HttpClient();
client.get((data.entry.author[0].uri["$t"]).replace("http", "https"), function(response) {
var doc = document.documentElement.cloneNode();
doc.innerHTML = response;
$content = $(doc.querySelectorAll('tr'));
for(var lk=0; lk<$content.find('th.item-key').length; lk++) {
if($content.find('th.item-key')[lk].innerText=="Introduction" && $content[lk].querySelectorAll('td')[0]!==null) {
description = $content[lk].querySelectorAll('td')[0].textContent;
break;
}
}
if(description!=false) { //site correct class here
$('.description').text(description);
}
});
}
}); } });