1

タイトルで述べたように、これが何に影響するかという問題です。

<a>コードは正常に動作し、タグの「href」属性が「iref」に変更されることを除いて、実際に何が起こるかを確認したいと考えています。

jquery.load() を介して後でコンテンツをロードするためにこれを行います

私はこれを別の方法で行うべきですか?それを行う「正しい」方法は何でしょうか?グーグルはどうですか?グーグルのロボットに影響はありますか?私がこれを尋ねるのは、JavaScript がオンになっていない場合、リンクは href から iref に変更され、コースから外れて機能する必要があるためです。では、ロボットは彼らについていくことができるかどうか?

すべての答えをありがとう。

フィドルがある

<a class="top-nav animMainBox" href="/home.html">Home</a>
<a class="top-nav animMainBox" href="notathome.html">Not at home</a>
<a class="top-nav animMainBox" href="/contact.html">Contact</a>


<style type="text/css">
    a{margin:10px;}
</style>

<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript">
    $(document).ready(function(){

        hrefToIref();

        $(document).on('click','.animMainBox',function(){
            loadNewBox($(this), true);
        });

    });


    function hrefToIref() {
        $('.animMainBox').each(function(){
            var url = $(this).attr('href');
            $(this).attr('href','javascript:;').attr('iref',url);
        });
        $('.button').each(function(){
            var url = $(this).attr('href');
            $(this).attr('href','javascript:;').attr('iref',url);
        });
    }

    function loadNewBox($this,animate) {
        // loading and returning new boxes via 
        // var url = $this.attr('iref');
        // $(".wrapper").load(url+' .toggle.box',{noncache: new Date().getTime()}, function(response, status, xhr) {}
    }


</script>
4

2 に答える 2

2

私はこれを別の方法で行うべきですか?

はい、間違いなく。iref属性はかなり無効に見えます。

ロボットはそれらを追跡できますか?

はい、通常、href属性を含む静的 HTML マークアップのみを確認します。

グーグルはどうですか?グーグルのロボットに影響はありますか?

Google は、JS を有効にしてページを表示できるので、少し違うと思います。あなたのスクリプトがリンクをたどるのを止めるかどうかはわかりません。

それを行う「正しい」方法は何でしょうか?

href属性はそのままにしておきます。それらがクリックされたときにそれらをフォローしないようにします。

$(document).on('click','.animMainBox, .button', function(e){
    e.preventDefault();
    loadNewBox($(this), true);
});
function loadNewBox($this,animate) {
    var url = $this.attr('href');
    //                    ^ just use the correct attribute
    …
}
于 2013-07-05T11:49:45.890 に答える
0

なぜこのようにしないのですか:

$(document).ready(function(){

        $('a').click(function(){ return false; });

        $(document).on('click','.animMainBox',function(){
            loadNewBox($(this), true);
        });

    });

これにより、リンクが機能しなくなり、後で何かをロードできます。
検索ロボットは引き続きリンクにアクセスできます。

于 2013-07-05T11:44:05.757 に答える