0

誰かが「パレットに追加」(カートではなくパレットと呼びます) をクリックするたびに、ページが同じページに更新され、その製品の div に配置される e コマース サイトがあります (ここで試してみてください: http://www.boostliquidation.com/ )。これは、次の Javascript を使用して発生します。

 $('input.returnLink').each(function(){
     $(this).attr('value',window.location.href + $(this).attr('data-skuhash'));
     }); 

そして、「カートに追加」ボタンの前の非表示の入力タグに配置されたこのアンカー タグ:

<input type="hidden" value="back" name="return_to" class='returnLink' data-skuhash='#{%     for variant in product.variants %}{{variant.sku}}{% endfor %}' /> 

({% %} 内のコードは、Shopify ウェブサイトで使用される Liquid と呼ばれる言語です)。

これは正常に機能します...ただし、最初の製品でのみです。アドレスバーに # が前に付いた SKU 番号が追加されます。ユーザーが別の製品を追加すると、SKU 番号がアドレス バーに既に表示されている既存の SKU 番号に修正されるため、ページの上部に更新されます。

最初の SKU の後に製品を追加して、既存の SKU を独自の SKU に置き換えて、ページの上部に戻るのではなく、製品に更新されるようにするにはどうすればよいですか?

4

1 に答える 1

0

私はおそらく使用しようとしますstring.replace()

var str = window.location.href;
var hash = $(this).attr('data-skuhash');

if (str.match('#\w\w+'){
   str.replace('#\w\w+', hash);
} else {
    str = str + hash;
}

URLの最後にあるハッシュを探し、見つかった場合は置き換え、見つからない場合は追加します。

于 2011-12-30T18:39:05.250 に答える