以下のタンブラーテーマの作成はほぼ完了しました。テーマは無限スクロールプラグインを使用しており、これはフラッシュを含まない投稿(写真、テキストなど)で正常に機能します。ビデオとオーディオの投稿はフラッシュを使用し、無限スクロールがさらに投稿をロードすると、フラッシュ投稿にはロードされません。理由がわからないのですが、締め切りが迫っていますので、誰か助けていただけませんか?
質問する
2251 次
2 に答える
5
投稿をループしてtumblrapiを呼び出し、オーディオ投稿の埋め込みコードを取得する必要がありました。
私はコードを以下に入れました。うまくいけば、それが誰かを助けるでしょう:
tumblrテーマに次のhtmlコードがあります:
{block:Posts}
<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 ) {
于 2012-04-15T00:35:35.243 に答える
2
次のページに対してajax呼び出しが行われると、インラインスクリプトタグがリクエストから削除されます。したがって、フラッシュが機能しない理由。
.findメソッドは、プラグイン内で、暗黙的に.loadメソッドとコールバックフェーズの一部として使用されます。
jquery:.find()の後に<script>タグを保持します
あなたにとって最良の選択肢は、フラッシュビデオが機能するために必要なインラインJSを見て、JSコードを分離することです。これはもっともらしいようです。
于 2012-04-14T11:54:21.123 に答える