2013-05-30 54 views
0

我有一個關於Tumblr API的快速問題。我正在爲一位攝影師設計一個網站,並希望使用該API將她最近發佈的兩個帖子中的前50到100個字串流到她的主頁上。我寫的JS文件將最近發佈的兩篇文章中的標題進行了流式處理,但我無法弄清楚如何僅取出前五十個左右的單詞。任何建議將不勝感激!!使用Tumblr API從帖子標題拉第一句

function buildURL (blogname, apiKey) { 
    return 'http://api.tumblr.com/v2/blog/' 
     + blogname 
     + '.tumblr.com/posts?api_key=' 
     + apiKey 
     + '&limit=2' 
     + '&callback=?' 
} 

var key = '/* Put your Tumblr Key Here */' 

var url = buildURL('ehockstein', key) 

$(function() { 
    $.getJSON(url, function (data) { 

     console.log(data) 

     createPosts(data.response.posts) 

    }) 
}) 

function createPosts (posts) { 

    posts.forEach(function (post) { 

     var postElement = $('<div class="post"></div>') 
     postElement.addClass(post.type) 

     if (post.type === 'photo') { 

      var caption = post.caption 

      postElement.append(caption) 

     } 

     postElement.appendTo('#tumblr-posts') 

    }) 
} 

回答

2

Tumblr API不支持返回部分字幕。您需要從API中提取完整標題,並在您自己的代碼中創建一個包含前50-100個字的子字符串。

這將是這個樣子:

var shortCaption = caption.substring(0, 499) 

這需要第500個字符,這將給你接近100個字。

然後,您可以將shortCaption附加到postElement(而不是追加caption)。

您可以瞭解更多關於substring如何工作的信息here

+1

感謝您的幫助!在此之前我並不知道子串,所以你的建議很有幫助。我結束了使用的indexOf字之間進行切片,因此最終的解決辦法是: '變種spaceIndex = post.caption.indexOf(,100 ''), 字幕= post.caption.slice(0,spaceIndex) postElement.append(caption +'...')' 保重! –

+0

沒問題!很高興你知道了,並提出了一個更好的解決方案。 –