如何检测是否在 Tumblr 上的单个帖子/页面上?

发布于 2025-01-02 22:03:17 字数 374 浏览 1 评论 0原文

我还没有找到一种方法来检测用户当前是否正在查看页面、帖子或整个文章列表。 WordPress 有 is_page、is_single 等函数,但是有人有 Tumblr 的方法吗?我目前正在使用以下代码对其进行攻击:

$(function() {
    var uri_root = 'http://' + window.location.hostname + '/';
    var uri = window.location.href;
    if(uri_root !== uri){
        alert("Viewing a single POST or PAGE!");
    }
});

我想知道这是否是执行此操作的最佳方法还是有其他选择?

I haven't found a way to detect if user is currently viewing a page, post or an entire list of articles. WordPress has functions like is_page, is_single, etc for that, but does anyone have a way for Tumblr? I'm currently hacking it with the following code:

$(function() {
    var uri_root = 'http://' + window.location.hostname + '/';
    var uri = window.location.href;
    if(uri_root !== uri){
        alert("Viewing a single POST or PAGE!");
    }
});

I'm wondering if that is the best way of doing this or is there an alternative?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

筑梦 2025-01-09 22:03:17

我找到了更合适的解决方案。根据 Tumblr 的文档:

{block:IndexPage} {/block:IndexPage} 在索引(帖子)页面上呈现。

{block:PermalinkPage} {/block:PermalinkPage} 在帖子永久链接页面上呈现。

因此基本上,包含在 IndexPage 块中的代码只会在可以显示多个帖子的页面上运行,无论是文本、照片、视频等帖子。

...并且 PermalinkPage 中包含的代码将仅针对单个帖子永久链接页面运行。

I've found a more adequate solution. According to Tumblr's documentation:

{block:IndexPage} {/block:IndexPage} Rendered on index (post) pages.

{block:PermalinkPage} {/block:PermalinkPage} Rendered on post permalink pages.

So basically, code wrapped in the IndexPage block will run only on pages that can display more then one post whether it's a text, photo, video, etc post.

...and code wrapped in the PermalinkPage will only run for single post permalink pages.

烟雨凡馨 2025-01-09 22:03:17

每个帖子都有一个班级帖子的div。因此,计算具有帖子类的 div 的数量。

像这样的东西: $('div.post').lengthdocument.getElementsByClassName('post') 如果没有 jQuery。

Each post has a div of class post. So, count the number of div's with post classes.

Something like this: $('div.post').length or document.getElementsByClassName('post') if there is no jQuery.

旧城烟雨 2025-01-09 22:03:17

为了检测它是否在页面帖子上,我创建了这个对我来说效果很好的脚本。

{block:PermalinkPage} 
  var page = {JSPostID};
  if(page == '') alert('Page!');
  else alert('Post');
{/block:PermalinkPage}

或者使用最简单的函数

function isPage(){
    {block:PermalinkPage} if({JSPostID} == '') return true; {/block:PermalinkPage}
    return false;
}
function isPost(){
    {block:PermalinkPage} if({JSPostID} != '') return true; {/block:PermalinkPage}
    return false;
}

To detect if it's on a page or post, I've created this script that worked well for me.

{block:PermalinkPage} 
  var page = {JSPostID};
  if(page == '') alert('Page!');
  else alert('Post');
{/block:PermalinkPage}

Or use the simplest functions

function isPage(){
    {block:PermalinkPage} if({JSPostID} == '') return true; {/block:PermalinkPage}
    return false;
}
function isPost(){
    {block:PermalinkPage} if({JSPostID} != '') return true; {/block:PermalinkPage}
    return false;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文