2012-02-07 39 views
4

我还没有找到一种方法来检测用户是否正在查看页面,文章或整个文章列表。 WordPress的功能就像is_page,is_single等等,但是有没有人有Tumblr的方法?我目前用下面的代码盗号的:如何检测如果在一个单一的职位/页上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!"); 
    } 
}); 

我想知道,如果这是这样做的最好的方法还是有其他选择吗?

回答

0

每篇文章都有一个班级职位。所以,请用职位类别来计算div的数量。

类似这样的:$('div.post').length或​​如果没有jQuery。

30

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

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

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

所以基本上,代码包在IndexPage块只会在能够显示更多然后一个后无论是文本,图片,视频等帖子页运行。

...和代码包装在PermalinkPage将只运行单个后期固定链接页面。

+0

我尝试这个解决方案正常工作,谢谢老兄+1你的答案! – 2013-09-12 15:51:39

+1

这个解决方案确实比JS解决方案更适合。 – halloleo 2015-01-29 02:58:26

+0

检测Ask页面怎么样?这是否有块? 我在我的页面上嵌入了一个提问框iframe,但我只想在用户导航到提问页面时显示它。目前它显示在问与永久链接页面上。 – Owzzz 2016-05-13 20:01:52

0

要检测它是否在页面,我已经创建了这个脚本,对我很好。

{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; 
} 
+0

您能否详细说明'{JSPostID}'变量? – Stephan 2017-10-01 08:33:24

相关问题