javascript
  • jquery
  • blogger
  • 2017-08-25 9 views 2 likes 
    2

    私の目標は、共有するときに投稿に具体的なclass/esが含まれている場合、特定の画像プレビューを持つことです。divクラスに応じてmetaタグの画像コンテンツのurl値を割り当てる方法は?

    私はブロガープラットフォームとそのデフォルトコードを使用しています。

    <b:if cond='data:post.labels any (l =&gt; l.name in {"video", "youtube"})'> 
        <meta content='post-with-video-class.jpg' property='og:image'/> 
    
    <b:elseif cond='data:post.labels any (l =&gt; l.name in {"gallery"})'/> 
        <meta content='post-with-gallery-class.jpg' property='og:image'/> 
    
    <b:else/> 
        <meta content='default-class-url.jpg' property='og:image'/> 
    </b:if> 
    

    ...と私の内容

    <div id='posts'> 
        <div class='video and youtube'> 
         post 1 
        </div> 
        <div class='gallery'> 
         post 2 
        </div> 
        <div class='default'> 
         post 3 
        </div> 
    </div> 
    

    このコードは、それがbody内のプレビュー画像を持つためにある場合、metaタグはhead内にある必要があります動作します。

    jqueryで追加しようとしましたが、まだプレビュー画像がありません。

    $("[property*='og:image']").appendTo ("head"); 
    

    ブロガーコードを置き換えるjQueryコードはありますか? 私はclassListhasClassについて読んでいますが、それらを実行することはまだ私の知る限りではありません。助けてください。

    +1

    これらのタグをFacebookブックや他のソーシャルメディアプラットフォームに使用しようとしている場合は、ページロード時にメタタグを作成する必要があるため、動作しません。 –

    +0

    私は次の2つの質問があります。投稿リストウェブページまたは投稿詳細ウェブページに設定された 'og:image'?どのテーマを使用していますか? –

    +0

    @winner_joiner私はそれらを両方のページタイプで使いたいです。それは最初からです。 – 88willr

    答えて

    1

    もっと良い解決策があるかもしれませんが、ここでは回避策があります。この仮定の下で
    :リストビューについては

    • 、ブログのための1つのデフォルトの画像が表示されなければなりません。
    • 詳細ビューでは、ビデオまたはギャラリーの画像が表示されます。
    • Post-Titleには、ラベルの代わりにフィルタリングするキーワードを付けることができます。

    このコードはhead -tagに入力し、指定meta -tagを作成することができます。この例では、私はpost-with-video-class.jpg画像とキーワード(写真)画像post-with-gallery-class.jpgためのキーワード(ビデオ)を用い、他の場合には、デフォルトの画像が表示されます。
       
    他のキーワードを使用することができるが、titleオプションはそれはエレガントではないが、可能と多かれ少なかれ簡単な回避策

    <b:with value='data:widgets.Blog.first.posts.first' var='post'> 
        <b:if cond='data:view.isSingleItem and data:post.title contains &quot;(video)&quot;'> 
         <meta content='post-with-video-class.jpg' property='og:image'/> 
        <b:elseif cond="data:view.isSingleItem and data:post.title contains &quot;(pics)&quot;"/> 
         <meta content='post-with-gallery-class.jpg' property='og:image'/> 
        <b:else/> 
         <meta content='default-class-url.jpg' property='og:image'/> 
        </b:if> 
    </b:with> 
    

    制限します。

    ヒント:いくつかの機能、タグ、データ要素が古いテーマでは利用できないので、仕事に、このためは、それが新しいテーマ(のようなコンテンポに基づくべきです。
    ここ    
    多くのドキュメントがありませんのでhttp://template-data.blogspot.co.at

    を助けるかもしれないいくつかの良いドキュメント、labelsプロパティはdata:widgets.Blog.first.posts.firstポストオブジェクトにアクセスすることができるならば、私が言うことができません。

    関連する問題