我差不多完成了下面的不倒翁主题。主题使用无限滚动插件,这适用于不包含flash(照片,文字,...)的帖子。视频和音频帖子使用flash,当无限滚动开始加载更多帖子时,它不会加载到Flash帖子中。我无法理解为什么,任何人都可以在截止日期即将到来时提供帮助吗?
答案 0 :(得分:5)
原来我需要遍历帖子并调用tumblr api来获取音频帖子的嵌入代码。
我已将代码放在下面,希望它能帮到某人:
我在tumblr主题中有以下的html代码:
{块:帖子}
<div id="{PostID}" class="posts {block:Photo}photo-post{/block:Photo} {block:Video}video-post{/block:Video} {block:Audio}audio-post{/block:Audio} {block:Photoset}photoset-post{/block:Photoset}">
然后在回调(见下文)中进行砌筑,我有以下代码:
/* repair audio players*/
$('.audioplayerinto').each(function(){
var audioID = $(this).attr("id");
var $audioPost = $(this);
$.ajax({
url: 'http://myblog.tumblr.com/api/read/json?id=' + audioID,
dataType: 'jsonp',
timeout: 50000,
success: function(data){
$audioPost.html(data.posts[0]["audio-player"]);
/*
$audioPost.append('\x3cdiv style=\x22background-color:white;height:30px\x22 class=\x22audio_player\x22\x3e' + data.posts[0]['audio-player'] +'\x3c/div\x3e');
alert("It worked");
*/
}
}
回调代码如下:
if($content.infinitescroll) {
$content.masonry({
itemSelector: '.posts',
//columnWidth: 235,
isAnimated: true
}),
$content.infinitescroll({
navSelector : 'div#pagination',
nextSelector : 'div#pagination div#nextPage a',
itemSelector : '.posts',
loading: {
finishedMsg: '',
img: 'http://static.tumblr.com/dbek3sy/pX1lrx8xv/ajax-loader.gif'
},
bufferPx : 500,
debug : false,
},
// call masonry as a callback.
function( newElements ) {
答案 1 :(得分:2)
当对下一页进行ajax调用时,内联脚本标记将从请求中删除。因此闪存不起作用的原因。
.find方法在插件中使用,隐式地作为.load方法和回调阶段的一部分:
jquery: Keep <script> tag after .find()
最好的选择是隔离JS代码,看看flash视频工作所需的内联JS,这似乎是合理的。