-4

サーバースペースでいくつかの問題に直面しています。画像はサーバーのすべてのスペースを使用しているため、処理が遅くなります。e コマースの Web サイトであるため、速度が遅くなったり、顧客を失ったりすることはありません。

私が以下を持っている場合:

SKU's :
ABC123-001 > catName > Phone
ABC753-851 > catName > MAC
AT1233-098 > catName > PC

トリムを使用して次のようにするにはどうすればよいですか。

SKU's :
123 > catName > Phone
753 > catName > MAC
1233 > catName > PC

次のスクリプトで使用します。

<script type="text/javascript">
$(function(){
    var sku = $("#ProductBreadcrumb ul li:last").text();
    $(".ProductThumbImage img").attr('src','http://img.example.com/images/'+catName+'/'+sku+'.jpg');
});
</script>

したがって、基本的に、画像リンクの出力は次のようになります。

http://img.example.com/images/phone/123.jpg
http://img.example.com/images/mac/753.jpg
http://img.example.com/images/pc/1233.jpg

ええ、私が直面しなければならない最初の問題は..どうすればそれをトリミングできますか?

私はJavaScriptに精通していないので、どんな助けでも本当に感謝しています:D

4

2 に答える 2

0

これが実際のです。名前の変更がパフォーマンスと何の関係があるのか​​ はわかりませんが、どうぞ;)

編集: 申し訳ありませんが、他の部分を追加するのを忘れました:) http://jsfiddle.net/Vandeplas/YH9uT/2/

var a = [
    'ABC123-001 > catName > Phone',
    'ABC753-851 > catName > MAC',
    'AT1233-098 > catName > PC'
],
    b=[];

$.each(a, function(index, item){
    //split the folders
    f= item.split(' > ');
    /* take the first folder remove everything after '-' 
     * remove everything non numeric and return it */
    f[0]=f[0].substr(0, f[0].indexOf('-')).replace(/[^0-9]/g, '');
    //rejoin the folders
    b.push(f.join(' > '));
});

console.log(a, b);
于 2012-09-05T10:52:27.587 に答える
0

編集:

私が探していた解決策があります。コードは次のようになります。

  <script type="text/javascript">
      $(function(){
         var catname = $("#ProductBreadcrumb ul li:last").previous('a').text();

         $(".ProductThumbImage img").attr('src','http://img.example.com/'+catname+'/default.jpg');
      });
  </script>

したがって、カテゴリ名が「Phone」の場合、結果の src はhttp://img.example.com/phone/default.jpgになります。

ところで、このコードは、BigCommerce サーバーがすべての画像をサーバーにダウンロードするのを防ぐためのものです。

于 2012-09-06T14:10:53.370 に答える