PageSourceSearch

https://www.ec-store.net/js/sws/usr/goodssearch.js

js ec-store.net collected 2026-09-25 18:38:49 UTC 7,759 bytes, 222 lines download raw bytes

1var ecblib = ecblib || {};
2ecblib.customize = ecblib.customize || {};
3ecblib.customize.goodssearch = ecblib.customize.goodssearch || {};
4
5function setSearchGoodsList(queryString, target){
6    jQuery.ajax({
7        async: true,
8        type: "GET",
9        url: ecblib.sys.pathroot + "/goods/searchajax.aspx" + "?" + queryString,
10        data: "",
11        cache: false,
12        ifModified: false,
13        dataType: "html",
14        success: function (result) {
15            jQuery(target).html(result);
16        },
17        error: function (xhr, status, thrown) {
18            jQuery(target).html(ecblib.msg.goods.FAILURE);
19            return false;
20        }
21    });
22
23    return true;
24
25}
26//HOTITEM調整対応 start
27function setSearchHotItemGoodsList(queryString, target){
28    jQuery.ajax({
29        async: true,
30        type: "GET",
31        url: ecblib.sys.pathroot + "/goods/searchajax.aspx" + "?" + queryString,
32        data: "",
33        cache: false,
34        ifModified: false,
35        dataType: "html",
36        success: function (result) {
37			const parser = new DOMParser();
38			const doc = parser.parseFromString(result, 'text/html');
39
40			const targetUl = doc.querySelector('ul');
41			const allLis = doc.querySelectorAll('li');
42
43			const combinedLi = document.createElement('li');
44
45			allLis.forEach(li => {
46			    Array.from(li.children).forEach(child => {
47			        combinedLi.appendChild(child);
48			    });
49			});
50			
51			if (targetUl) {
52			    targetUl.innerHTML = '';
53			    targetUl.appendChild(combinedLi);
54			}
55
56			result = doc.body.innerHTML;
57            jQuery(target).html(result);
58        },
59        error: function (xhr, status, thrown) {
60            jQuery(target).html(ecblib.msg.goods.FAILURE);
61            return false;
62        }
63    });
64
65    return true;
66
67}
68
69//HOTITEM調整対応 end
70// カテゴリ選択実装対応 start
71function _CreateLiContaints(paramBrand, paramCid, retCid, className, dispText, dispSite)
72{
73    var queryString = '?';
74    var _activeFlg = false;
75    if(paramBrand != null && paramCid != null)
76    {
77        if (paramBrand.length != 0)
78        {
79            queryString = queryString + 'brand=' + paramBrand;
80        }
81
82        if (paramCid.length != 0)
83        {
84            if (queryString != '?')
85            {
86                queryString = queryString + '&';
87            }
88            queryString = queryString + 'cid=' + paramCid;
89        }
90    }
91
92    var _class = '';
93
94    if (dispText != 'すべて')
95    {
96        _class = 'class="' + className + '"';
97
98        if (paramCid == retCid)
99        {
100            _activeFlg = true;
101        }
102    }
103    else
104    {
105        if (retCid == null)
106        {
107            _activeFlg = true;
108        }
109    }
110    
111    if(dispSite == 'SWS')
112    {
113    var retString = '<li ' + _class + '><a href="/sws/pages/ranking.aspx' + queryString + '" style="height: 33px;">' + dispText +  '</a></li>';
114    }
115    else
116    {
117    var retString = '<li ' + _class + '><a href="/sws/pages/ranking_outlet.aspx' + queryString + '" style="height: 33px;">' + dispText +  '</a></li>'; 
118    }
119
120    if (_activeFlg)
121    {
122        retString = '<li class="active"><a href="" style="height: 33px;">' + dispText + '</a></li>';
123    }
124
125    return retString;
126
127}
128
129function getCountByCid(baseWhere, tarClsNm, arrayObj, key){
130    jQuery.ajax({
131        url: ecblib.sys.pathroot + "/goods/searchajax.aspx?"+ baseWhere,
132        type: "GET",
133        async: false,
134        dataType: "html",
135        data: "",
136        cache: false,
137        ifModified: false,
138        success: function (result) {
139            arrayObj[key]["cnt"] = jQuery(result).find(tarClsNm).length;
140        },
141        error: function (xhr, status, thrown) {
142            jQuery(target).html(ecblib.msg.goods.FAILURE);
143            return false;
144        }
145    });
146}
147// カテゴリ選択実装対応 end
148
149//商品詳細ページ[閲覧中のカテゴリーランキング]用
150function setSearchGoodsList_GoodsDetail(queryString, target){
151    jQuery.ajax({
152        async: true,
153        type: "GET",
154        url: ecblib.sys.pathroot + "/goods/searchajax.aspx" + "?" + queryString,
155        data: "",
156        cache: false,
157        ifModified: false,
158        dataType: "html",
159        success: function (result) {
160            jQuery(target).html(result);
161            // カルーセル化する要素のクローンを取得する
162            var list = jQuery('.ajaxgoodslist_ranking').find('.block-thumbnail-t--items').clone();
163            // html上のカルーセル化する要素からli要素以下をremoveする
164            jQuery('.block-thumbnail-t--item').remove();
165            var name
166            var str
167            var goods
168			var num
169            // カルーセル化する要素のクローンから、li要素を取り出し、その中のa要素を抜き出す
170            // 新規に作成したli要素にa要素を2つずつ追加することでランキングを2段にする
171            jQuery.each(list.find('li'), function(i, el) {
172                if(i % 2 == 0){
173                    // 奇数の要素の場合
174                    name = "listnum"+i
175                    str = "<li id = \""+name+"\"></li>"
176                    jQuery(target).find('.block-thumbnail-t--items').append(str);
177                    str = "#"+name
178                    // 奇数の要素を変数[goods]に取得する
179                    goods = el.firstElementChild;
180                    // この要素が何番目を取得し、ランキングを表示するhtml要素を変数[goods]に追加する
181                    num = "<p class=rank style='margin-bottom: 0;'><span>"+ (i+1) + "</span></p>"
182                    jQuery(goods).find(".block-thumbnail-t--goods-image").before(num);
183                    // html上のli要素に、変数[goods]を追加する
184                    jQuery(target).find('.block-thumbnail-t--items').find(str).append(goods);
185                } else {
186                    // 奇数の要素の場合
187                    // 奇数の要素を変数[goods]に取得する
188                    goods = el.firstElementChild;
189                    // この要素が何番目を取得し、ランキングを表示するhtml要素を変数[goods]に追加する
190                    num = "<p class=rank style='margin-bottom: 0;'><span>"+ (i+1) + "</span></p>"
191                    jQuery(goods).find(".block-thumbnail-t--goods-image").before(num);
192                    // html上のli要素に、変数[goods]を追加する
193                    jQuery(target).find('.block-thumbnail-t--items').find(str).append(goods);
194                }
195            });
196            if(jQuery(target).find('.block-thumbnail-t--items > li').length == 1){
197                // 閲覧中カテゴリーのランキングの列数が1列の場合
198                // 空の列を追加する
199                jQuery(target).find('.block-thumbnail-t--items').append("<li>");
200            }
201            // html上のul要素[block-thumbnail-t--items]をbxSliderとする
202            jQuery(target).find('.block-thumbnail-t--items').bxSlider({
203                mode: 'horizontal',
204                speed: 250,
205                infiniteLoop: false,
206                preloadImages: 'all',
207                pager: false,
208                controls: false,
209                slideWidth: '1000',
210                minSlides: 2,
211                maxSlides: 2
212            });
213        },
214        error: function (xhr, status, thrown) {
215            jQuery(target).html(ecblib.msg.goods.FAILURE);
216            return false;
217        }
218    });
219
220    return true;
221
222}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.