PageSourceSearch

https://justmyshop.com/commons/widget/jms-widget-ranking.js

js justmyshop.com collected 2026-10-02 07:29:09 UTC 4,346 bytes, 82 lines download raw bytes

1jmsWidget.RANKING_VIEWMAX = 20;
2
3var urlMap = {};
4var rankingIndex = 1;
5jmsWidget.rankingTagDisplay = function() {
6    if (jmsWidget.RANKING_VIEWMAX < 1) {
7        // 表示範囲が1位未満の場合は hidden 状態にする
8        $('#main .cornerfavoriteandranking .cornerranking').prepend(
9                '<div class="ranking_icon_wrapper"><div class="ranking_icon"></div></div>'
10                + '<span class="ranking_title">売れ筋ランキング</span> <span class="rank_number"></span> 位');
11        jmsWidget.displayMainArea();
12        return false;
13    }
14    var apiUrl = "/app/api/appfacades?method=getRanking&type=itemcode&last=18&count=100";
15    var hitranking = false;
16    $.ajax({
17        type: "GET",
18        async: true,
19        cache: false,
20        url: apiUrl,
21        timeout: 6000,
22        success:function(data){
23            data = data.ranking;
24            if(jQuery.isArray(data)){
25                jQuery.each(data, function(index, item){
26                    if(rankingIndex > jmsWidget.RANKING_VIEWMAX){
27                        return false;
28                    }
29                    var itemData = null;
30                    // 商品コードでパネルを探す
31                    if (item.itemcode) {
32                        itemData = jmsHeaderFooter.items.getItemPanelByItemCode(item.itemcode);
33                    }
34                    // なければURLでパネルを探す
35                    if (!itemData && item.href) {
36                        itemData = jmsHeaderFooter.items.getItemPanelByUrl(item.href);
37                    }
38                    // それでもなければ商品コードをセットしてみる
39                    if(!itemData && item.itemcode && item.thumbnail &&item.itemname){
40                        itemData = {};
41                        itemData.url = "/detailitem/?itemcode=" + item.itemcode;
42                        // /widget/images/ の画像はここでは設定しない
43                        if(item.thumbnail && -1 == item.thumbnail.indexOf("/widget/images/")){
44                            itemData.scene = item.thumbnail;
45                        }
46                        itemData.title = item.itemname;
47                        itemData.reversecodes = itemData.codes = [item.itemcode];
48                    }
49                    if (itemData) {
50                        // パネルを取得できたものはランクイン済みチェック後に保存
51                        if (urlMap[itemData.url]) {
52                            // ランクイン済みの場合はスキップ
53                            return true;
54                        }
55                        urlMap[itemData.url]=itemData.url;
56
57                        if (-1 != location.href.indexOf(itemData.url)) {
58                            // ヒットした時点のランキングを表示
59                            document.getElementById('rankingarea').setAttribute('data-order', rankingIndex);
60                            $('#main .cornerfavoriteandranking .cornerranking').prepend(
61                                    '<div class="ranking_icon_wrapper"><div data-order="' + rankingIndex +'" class="ranking_icon"></div></div>'
62                                    + '<span class="ranking_title">売れ筋ランキング</span> <span class="rank_number">' + rankingIndex + '</span> 位');
63                            $('.cornerfavoriteandranking').removeClass('hidden');
64                            $('.cornerranking').removeClass('hidden');
65                            hitranking = true;
66                            jmsWidget.displayMainArea();
67                            return false;
68                        }
69                        rankingIndex++;
70                    }
71                });
72            }
73            if (!hitranking) {
74                // ランキング外の場合は hidden 状態にする
75                $('#main .cornerfavoriteandranking .cornerranking').prepend('<div class="ranking_icon_wrapper"><div class="ranking_icon"></div></div>'
76                        + '<span class="ranking_title">売れ筋ランキング</span> <span class="rank_number"></span> 位');
77                jmsWidget.displayMainArea();
78            }
79            return hitranking;
80        }
81    })
82}

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.