Javascript 如何添加ref=";nofollow";关于博客回复和删除评论链接

Javascript 如何添加ref=";nofollow";关于博客回复和删除评论链接,javascript,blogger,blogspot,Javascript,Blogger,Blogspot,我在我的博客文章中使用了seo分析工具,发现我的评论删除链接是“dofollow”。现在,我如何在这些链接中添加“nofollow” 我正在使用博客作者的嵌入式评论 页面url: 评论脚本: <script type='text/javascript'> (function() { var items = <data:post.commentJso/>; var msgs = <data:post.commentMsgs/>; var confi

我在我的博客文章中使用了seo分析工具,发现我的评论删除链接是“dofollow”。现在,我如何在这些链接中添加“nofollow”

我正在使用博客作者的嵌入式评论

页面url:

评论脚本:

 <script type='text/javascript'>
(function() {
  var items = <data:post.commentJso/>;
  var msgs = <data:post.commentMsgs/>;
  var config = <data:post.commentConfig/>;

// <![CDATA[
  var cursor = null;
  if (items && items.length > 0) {
    cursor = parseInt(items[items.length - 1].timestamp) + 1;
  }

  var bodyFromEntry = function(entry) {
    if (entry.gd$extendedProperty) {
      for (var k in entry.gd$extendedProperty) {
        if (entry.gd$extendedProperty[k].name == 'blogger.contentRemoved') {
          return '<span class="deleted-comment">' + entry.content.$t + '</span>';
        }
      }
    }
    return entry.content.$t;
  }

  var parse = function(data) {
    cursor = null;
    var comments = [];
    if (data && data.feed && data.feed.entry) {
      for (var i = 0, entry; entry = data.feed.entry[i]; i++) {
        var comment = {};
        // comment ID, parsed out of the original id format
        var id = /blog-(\d+).post-(\d+)/.exec(entry.id.$t);
        comment.id = id ? id[2] : null;
        comment.body = bodyFromEntry(entry);
        comment.timestamp = Date.parse(entry.published.$t) + '';
        if (entry.author && entry.author.constructor === Array) {
          var auth = entry.author[0];
          if (auth) {
            comment.author = {
              name: (auth.name ? auth.name.$t : undefined),
              profileUrl: (auth.uri ? auth.uri.$t : undefined),
              avatarUrl: (auth.gd$image ? auth.gd$image.src : undefined)
            };
          }
        }
        if (entry.link) {
          if (entry.link[2]) {
            comment.link = comment.permalink = entry.link[2].href;
          }
          if (entry.link[3]) {
            var pid = /.*comments\/default\/(\d+)\?.*/.exec(entry.link[3].href);
            if (pid && pid[1]) {
              comment.parentId = pid[1];
            }
          }
        }
        comment.deleteclass = 'item-control blog-admin';
        if (entry.gd$extendedProperty) {
          for (var k in entry.gd$extendedProperty) {
            if (entry.gd$extendedProperty[k].name == 'blogger.itemClass') {
              comment.deleteclass += ' ' + entry.gd$extendedProperty[k].value;
            } else if (entry.gd$extendedProperty[k].name == 'blogger.displayTime') {
              comment.displayTime = entry.gd$extendedProperty[k].value;
            }
          }
        }
        comments.push(comment);
      }
    }
    return comments;
  };

  var paginator = function(callback) {
    if (hasMore()) {
      var url = config.feed + '?alt=json&v=2&orderby=published&reverse=false&max-results=200';
      if (cursor) {
        url += '&published-min=' + new Date(cursor).toISOString();
      }
      window.bloggercomments = function(data) {
        var parsed = parse(data);
        cursor = parsed.length < 50 ? null
            : parseInt(parsed[parsed.length - 1].timestamp) + 1
        callback(parsed);
        window.bloggercomments = null;
      }
      url += '&callback=bloggercomments';
      var script = document.createElement('script');
      script.type = 'text/javascript';
      script.src = url;
      document.getElementsByTagName('head')[0].appendChild(script);
    }
  };
  var hasMore = function() {
    return !!cursor;
  };
  var getMeta = function(key, comment) {
    if ('iswriter' == key) {
      var matches = !!comment.author
          && comment.author.name == config.authorName
          && comment.author.profileUrl == config.authorUrl;
      return matches ? 'true' : '';
    } else if ('deletelink' == key) {
      return config.baseUri + '/delete-comment.g?blogID='
           + config.blogId + '&postID=' + comment.id;
    } else if ('deleteclass' == key) {
      return comment.deleteclass;
    }
    return '';
  };

  var replybox = null;
  var replyUrlParts = null;
  var replyParent = undefined;

  var onReply = function(commentId, domId) {
    if (replybox == null) {
      // lazily cache replybox, and adjust to suit this style:
      replybox = document.getElementById('comment-editor');
      if (replybox != null) {
        replybox.height = '250px';
        replybox.style.display = 'unset';
        replyUrlParts = replybox.src.split('#');
      }
    }
    if (replybox && (commentId !== replyParent)) {
      document.getElementById(domId).insertBefore (document.getElementById ('threaded-comment-form'), null);
      replybox.src = replyUrlParts[0]
          + (commentId ? '&parentID=' + commentId : '')
          + '#' + replyUrlParts[1];
      replyParent = commentId;
    }
  };

  var hash = (window.location.hash || '#').substring(1);
  var startThread, targetComment;
  if (/^comment-form_/.test(hash)) {
    startThread = hash.substring('comment-form_'.length);
  } else if (/^c[0-9]+$/.test(hash)) {
    targetComment = hash.substring(1);
  }

  // Configure commenting API:
  var configJso = {
    'maxDepth': config.maxThreadDepth
  };
  var provider = {
    'id': config.postId,
    'data': items,
    'loadNext': paginator,
    'hasMore': hasMore,
    'getMeta': getMeta,
    'onReply': onReply,
    'rendered': true,
    'initComment': targetComment,
    'initReplyThread': startThread,
    'config': configJso,
    'messages': msgs
  };

  var render = function() {
    if (window.goog && window.goog.comments) {
      var holder = document.getElementById('comment-holder');
      window.goog.comments.render(holder, provider);
    }
  };

  // render now, or queue to render when library loads:
  if (window.goog && window.goog.comments) {
    render();
  } else {
    window.goog = window.goog || {};
    window.goog.comments = window.goog.comments || {};
    window.goog.comments.loadQueue = window.goog.comments.loadQueue || [];
    window.goog.comments.loadQueue.push(render);
  }
})();

(功能(){
var项目=;
var-msgs=;
变量配置=;
//  0) {
cursor=parseInt(items[items.length-1]。时间戳)+1;
}
var bodyFromEntry=函数(条目){
if(entry.gd$extendedProperty){
for(entry.gd$extendedProperty中的var k){
if(entry.gd$extendedProperty[k].name=='blogger.contentRemoved'){
返回“”+条目内容。$t+“”;
}
}
}
返回条目。内容。$t;
}
var parse=函数(数据){
游标=空;
var注释=[];
if(data&&data.feed&&data.feed.entry){
for(var i=0,entry;entry=data.feed.entry[i];i++){
var-comment={};
//注释ID,解析为原始ID格式
var id=/blog-(\d+).post-(\d+)/.exec(entry.id.$t);
comment.id=id?id[2]:空;
comment.body=bodyFromEntry(条目);
comment.timestamp=Date.parse(entry.published.$t)+'';
if(entry.author&&entry.author.constructor==数组){
var auth=entry.author[0];
if(auth){
comment.author={
名称:(auth.name?auth.name.$t:未定义),
profileUrl:(auth.uri?auth.uri.$t:未定义),
avatarUrl:(auth.gd$image?auth.gd$image.src:未定义)
};
}
}
if(entry.link){
if(条目链接[2]){
comment.link=comment.permalink=entry.link[2].href;
}
if(条目链接[3]){
var pid=/.*comments\/default\/(\d+)\?./.exec(entry.link[3].href);
如果(pid&&pid[1]){
comment.parentId=pid[1];
}
}
}
comment.deleteclass='itemcontrolblog admin';
if(entry.gd$extendedProperty){
for(entry.gd$extendedProperty中的var k){
if(entry.gd$extendedProperty[k].name=='blogger.itemClass'){
comment.deleteclass+=''+entry.gd$extendedProperty[k]。值;
}else if(entry.gd$extendedProperty[k].name=='blogger.displayTime'){
comment.displayTime=entry.gd$extendedProperty[k]。值;
}
}
}
评论。推送(评论);
}
}
返回评论;
};
var paginator=函数(回调){
if(hasMore()){
var url=config.feed+'?alt=json&v=2&orderby=published&reverse=false&max results=200';
如果(光标){
url+='&发布的最小值='+新日期(游标).toISOString();
}
window.bloggercomments=函数(数据){
var parsed=解析(数据);
游标=已解析。长度<50?空
:parseInt(已解析[parsed.length-1]。时间戳)+1
回调(解析);
window.bloggercomments=null;
}
url+='&回调=博客评论';
var script=document.createElement('script');
script.type='text/javascript';
script.src=url;
document.getElementsByTagName('head')[0].appendChild(脚本);
}
};
var hasMore=函数(){
返回!!光标;
};
var getMeta=函数(键、注释){
if('iswriter'==键){
var matches=!!comment.author
&&comment.author.name==config.authorName
&&comment.author.profileUrl==config.authorUrl;
返回匹配项?'true':'';
}else if('deletelink'==键){
return config.baseUri+'/delete comment.g?blogID='0
+config.blogId+'&postID='+comment.id;
}else if('deleteclass'==键){
返回comment.deleteclass;
}
返回“”;
};
var replybox=null;
var replyUrlParts=null;
var replyParent=未定义;
var onReply=函数(commentId,domId){
if(replybox==null){
//延迟缓存replybox,并进行调整以适应此样式:
replybox=document.getElementById('comment-editor');
if(replybox!=null){
replybox.height='250px';
replybox.style.display='unset';
replyUrlParts=replybox.src.split(“#”);
}
}
if(replybox&(commentId!==replyParent)){
document.getElementById(domId).insertBefore(document.getElementById('threaded-comment-form'),null);
replybox.src=replyUrlParts[0]
+(commentId?’&parentID=’+commentId:“”)
+“#”+答复部分[1];
replyParent=commentId;
}
};
var hash=(window.location.hash | |'#').substring(1);
var startThread,targetComment;
if(/^comment-form./.test(散列)){
startThread=hash.substring('comment-form_u'.length);
}else if(/^c[0-9]+$/.test(散列)){
targetComment=hash.substring(1);
}
//配置注释API:
var configJso={
“maxDepth”:config.maxThreadDepth
};
变量提供程序={
“id”:config.posted,
“数据”:项目,
“loadNext”:分页器,
“hasMore”:hasMore,
“getMeta”:getMeta,
“onReply”:onReply,
“呈现”:真,
“initComment”:targetComment,
“initReplyThread”:开始线程,
“config”:configJso,
“消息”:MSG
};
var render=function(){
if(window.goog&&window.goog.comments){
var holder=document.getElementById('comment-holder');
window.goog.comments.render(持有者、提供者);
}
};
//立即渲染,或在加载库时排队渲染:
if(window.goog&&window.goog.comments){
render();
}否则{
window.goog=window.goog | |{};
window.goog.comments=window.goog.comments | |{};
window.goog.comments.loadQueue=window.goog.comments.loadQueue | | |[];
window.goog.comments.loadQueue.push(呈现);
}
})();
//]]>

您必须向
标记添加
rel=“nofollow”
属性

是的
<a rel="nofollow" href="link here">My Link</a>
expr:href='data:post.createlinkurl' rel="external nofollow"
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js' type='text/javascript'></script>
<script type='text/javascript'>
    var a = $(this);
    var href = a.attr('href');
    $(document).ready(function() {
        $("a[href^='http://']").each(function() {
            if (this.href.indexOf(location.hostname) == -1) {
                $(this).attr('target', '_blank');
                $(this).attr('title', 'Click to open in a new window');
                $(this).attr('rel', 'nofollow');
            }
        });
        $("a[href^='https://']").each(function() {
            if (this.href.indexOf(location.hostname) == -1) {
                $(this).attr('target', '_blank');
                $(this).attr('title', 'Click to open in a new window');
                $(this).attr('rel', 'nofollow');
            }
        });
    });
</script>