5

使用 Blogger 中的条件语句,我正在尝试将脚本添加到特定 URL。我从来没有让这个工作,我一直推迟到现在。

在这个站点上,它说要使用:<b:if cond='data:blog.url == "PUT_URL_HERE"'>

所以这就是我尝试的:

<b:if cond='data:blog.url == "http://xarpixels.blogspot.com/search/blog"'>
  <script>
    $( document ).ready(function() {
      var $content = $('#main');
        $content.imagesLoaded( function(){
        $content.masonry({
          itemSelector : '.post';
        });
      });
    });
  </script>
</b:if>

虽然,它不起作用。当我查看源代码时,该脚本未加载。我究竟做错了什么?

4

3 回答 3

11

您可以使用以下条件匹配标签名称

<b:if cond='data:blog.searchLabel == "Label Name">
  this will come up only on the label pages of 'Label Name'
</b:if>

当您为匹配 URL 设置条件时,切勿使用data:blog.url而是使用data:blog.canonicalUrl,否则您最终将在不同国家/地区呈现不同的代码。

<b:if cond='data:blog.canonicalUrl == "http://blog.blogspot.com/2013/05/post.html"'> 
  Text or code that will be displayed only on specific url
</b:if>

参考: http: //www.bloggerplugins.org/2012/02/country-specific-blogspot-urls.html

于 2013-05-18T09:26:23.423 回答
2

复制粘贴这个确切的代码,它会工作

<b:if cond='data:blog.url == "http://xarpixels.blogspot.com/2013/04/test-post.html"'> 
Text or code that will be displayed only on specific url
</b:if>

当您在印度打开您的博客时,它会重定向到 blogspot.in……也许您包含 .in(或其他一些国家/地区代码)而不是 .com

于 2013-05-17T03:24:10.937 回答
2

data:blog.url也将包含查询字符串,因此数据标签在您的情况下不是那么有用。

我不知道会返回没有查询字符串的 URL 的 Blogger 数据标签。您可以尝试用 javascript 替换该博客的条件语句。

像这样的东西:

  if (window.location.href.split('?')[0]=='http://xarpixels.blogspot.com/search/blog')
  {
      ...
  }

另外我不确定您的搜索网址是否正确。在我的 Blogger 网站上,我有这样的:

http://mybloggersite.blogspot.com/search?q=
于 2013-05-17T21:10:28.980 回答