2012-04-14 10 views
1

私はほぼ以下のタンブラーテーマの作成をほぼ終了しました。テーマは、無限のスクロールプラグインを使用しています。これは、フラッシュ(写真、テキスト、...)を含まない投稿には問題ありません。ビデオとオーディオのポストはフラッシュを使用し、無限のスクロールが多くのポストをロードするときにフラッシュポストにロードされません。なぜ私は立つことができない、締め切りが近づいているので誰も助けてもらえますか? AJAX呼び出しが次のページに行われると無限スクロールブレイクフラッシュ

http://penguinenglishlibrary.tumblr.com/

答えて

5

私は記事をループし、tumblr APIを呼び出してオーディオ投稿の埋め込みコードを取得する必要がありました。

私はうまくいけば、それが誰かを助ける以下のコードを入れている:

{ブロック::投稿}

<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}"> 
私はtumblrのテーマでfolowing HTMLコードを持って

  1. メーソンリーのコールバック(下記参照)の中に私は以下のコードを持っています:

    /* 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

うまくやって、申し訳ありません、私は前にそれを使用したことがないtumblrに精通していない、そうでなければ私はコードを提供していたでしょう。 – trickyzter

+0

とにかく助けていただきありがとうございます。それは思考の軌跡を引き起こしました – Burt

+0

@Burtこのコードをどのように実装しましたかご説明ください。私は非常に同じ問題をここで苦労しているhttp://stackoverflow.com/questions/10165501/tumblr-audio-video-players-masonry-with-infinite-scrollしかし運がないと。ありがとう。 – Barbara

2

、インラインスクリプトタグは、リクエストからストリッピングされています。したがって、なぜフラッシュは動作しません。

.findメソッドは暗黙的に.LOAD方法の一部とコールバック相として、プラグイン内で使用されています

jquery: Keep <script> tag after .find()

あなたのための最良のオプションは、JSのコードを分離することで、見ましたフラッシュビデオが動作するために必要なインラインJS、これは妥当と思われる。

+0

返事してくれてありがとう、本当にあなたは多分あなたがしてください何を意味するかについての詳細を拡大する可能性=、Gを助けに感謝? – Burt

+1

最良の解決策は、コールバック関数内で返される各投稿をループし、それが動的コンテンツであるかどうかを識別し、それが動作するために必要なJSを追加することです。 – trickyzter

+0

これは機能しています。私は、埋め込みコードを取得するためにAPIにajaxコールが必要です(下記参照)。 – Burt