0

私は、AJAXを使用して投稿コンテンツをロードするWPシングルページポートフォリオに取り組んでいます。#!WPはGooglebotでクロール可能にするためにURLを必要としないことを読みました。私が正しく理解していれば、Googlebotはajaxを解釈しないため、リンクをたどって記事ページにインデックスを付けるだけです。

そのため、URLから削除#!し、投稿が開かれたときに、それらをで更新します.pushState
正常に動作していますが、F5キーを押すか、特定のURL(ホームではない)を読み込もうとすると、投稿のページ(single.php)に陥ります。

これを防ぐために、ユーザーをホームページに誘導するjavascriptリダイレクトをsingle.phpに追加しました。次に、ホームページで記事の内容を開く必要があります。

これが私のサイトのアドレスです:(http://www.youpiemonday.com/リダイレクトはまだオンラインではありません)。

「このページ(リファラー)からアクセスしている場合は、hrefが対応するサムネイルのクリックをトリガーします」(クリックするとコンテンツが読み込まれます)をブラウザーに伝えるにはどうすればよいですか?

私はこれを掘り下げていますが、サムネイルを正しくターゲットにする方法がわかりません...

<script type="text/javascript">
    $referer = document.referrer; // where we come from
    $LinktoRef = $('.ProjectWrap').find("a").href; // the href in the thumbnail

    console.debug($LinktoRef); // still undefined...

        if ( $LinktoRef == $referer ){
            find("a").trigger('click');
        }
</script>

htmlマークアップは次のようになります。

<div id="portfolio-list">

    <div class="ProjectWrap">
           <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(); ?></a>
           <a href="<?php the_permalink(); ?>">
                <div class="contentProject">
                    <h4 class="ProjectTitle"><?php the_title(); ?></h4>
                </div>
           </a>
    </div>

    <div class="ProjectWrap">//same as above</div>
    <div class="ProjectWrap">//same as above</div>
    // and the list goes on...

</div>

私は実際にはプログラマーではないので、助けていただければ幸いです。そして、あなたがあなたのコードにコメントすることができれば、それは私にとってかけがえのないものになるでしょう。

4

1 に答える 1

0

おそらく、ページにレンダリングされる前に要素を参照しようとしているからです。document ready または window onload を使用して、リンクを参照してください。

于 2012-12-15T21:08:13.447 に答える