PageSourceSearch

https://www.movic.jp/js/sys/goods_ajax_cart_sb.js

js movic.jp collected 2026-10-02 03:08:00 UTC 7,537 bytes, 155 lines download raw bytes

1var ecblib = ecblib || {};
2ecblib.goods_ajax_cart_sb = ecblib.goods_ajax_cart_sb || {};
3
4jQuery(function () {
5    var _goods_ajax_cart_sb = ecblib.goods_ajax_cart_sb;
6
7    var wait_class = 'js-animation-add-cart-in-progress';
8    var wait_value = ecblib.msg.goods_ajax_cart_sb.PLEASE_WAIT;
9    var s_width = 60;
10    var l_width = 200;
11    if (document.URL.match("cart.aspx")) {
12        return false;
13    }
14    var $btn_cart = jQuery(".js-animation-add-cart");
15    var noraml_class = $btn_cart.attr("class");
16    jQuery(document).off("click", ".js-animation-add-cart");
17    jQuery(document).on("click", ".js-animation-add-cart", function (e) {
18        var loadStart = function (elem) {
19            jQuery(elem).addClass(wait_class);
20            jQuery(elem).text(wait_value);
21            return elem;
22        };
23        var loadEnd = function (elem, iserror) {
24            if (!iserror) {
25                // ecblib.ui.showToolTip(jQuery("." + wait_class), { tooltip: ecblib.msg.goods_ajax_cart_sb.TO_SHOPPING_CART, diptimeSec: 2 });
26                jQuery(".block-modal-cart-goods-name").html(name);
27                jQuery(".block-modal-cart-goods-price .block-goods-variation-color").html(color);
28                jQuery(".block-modal-cart-goods-price .block-goods-variation-size").html(size);
29                if (point) {
30                  jQuery(".block-modal-cart-goods-price .block-goods-price--price").removeClass('price');
31                } else {
32                  jQuery(".block-modal-cart-goods-price .block-goods-price--price").addClass('price');
33                }
34                jQuery(".block-modal-cart-goods-price .block-goods-price--price").html(price);
35                jQuery("#add-cart").stop().fadeIn(250);
36                ecblib.ui.showCartCount();
37                setTimeout(function () {
38                    jQuery(elem).removeClass(wait_class);
39                    jQuery(elem).text(ecblib.msg.goods_ajax_cart_sb.PUT_IN_SHOPPING_CART);
40                }, 2400);
41
42            } else {
43                jQuery(elem).removeClass(wait_class);
44                jQuery(elem).text(ecblib.msg.goods_ajax_cart_sb.PUT_IN_SHOPPING_CART);
45            }
46        };
47        var addCart = function (b, g) {
48            var o = loadStart(b);
49            jQuery.ajax({
50                async: true,
51                type: "POST",
52                url: ecblib.sys.wwwroot + "/shop/js/addcart.aspx",
53                data: {
54                    "goods": goods,
55                    "crsirefo_hidden": crsirefo_jscart
56                },
57                cache: false,
58                ifModified: false,
59                dataType: "json",
60                success: function (result) {
61                    result = result || {};
62                    if ('ecblib' in window && 'abtest' in ecblib && 'loadABtest' in ecblib.abtest) {
63                        ecblib.abtest.saveBlockClickLog("jscart");
64                    }
65                    if (result.IsUseGtmGa === 'true') {
66                        window.dataLayer = window.dataLayer || [];
67                        dataLayer.push({
68                            'metatag_ga_virtualurl_addcart': result.AjaxVirtualUrl_AddCart,
69                            'event': 'metatag_ga_cart_added'
70                        });
71                    } else if (result.IsUseLegacyGa === 'true') {
72                        if (typeof gtag == "function") {
73                            var gatrackingcode = jQuery("meta[property='ecb:GATrackingCode']").attr('content');
74                            gtag('config', gatrackingcode, { 'page_title': 'AddCart', 'page_location': ecblib.sys.wwwroot + '/shop/cart/addcart.aspx?goods=' + goods });
75                        }
76                    }
77                    if (result.ErrMessage && result.ErrMessage.length > 0) {
78                        ecblib.ui.alert(ecblib.msg.modal_title.ERROR, result.ErrMessage.join("\r\n").replace(/<\/?[^>]+>/gi, ""));
79                        loadEnd(o, true);
80                        return false;
81                    }
82                    if (jQuery("#jscart_replace_").length > 0) {
83                        jQuery.ajax({
84                            type: 'GET',
85                            url: ecblib.sys.wwwroot + '/shop/js/cart.aspx',
86                            dataType: 'text',
87                            async: false,
88                            timeout: 10000
89                        }).done(function(data){
90                            jQuery('#jscart_replace_').html(data);
91                            setTimeout(function () {
92                                loadEnd(o, false);
93                            }, 400);
94                        });
95                    } else {
96                        setTimeout(function () {
97                            loadEnd(o, false);
98                        }, 400);
99                    }
100                },
101                error: function (xhr, status, thrown) {
102                    loadEnd(o, true);
103                    ecblib.ui.alert(ecblib.msg.modal_title.ERROR, ecblib.msg.goods_ajax_cart_sb.SESSION_EXPIRED);
104                    return false;
105                }
106            });
107            return true;
108        };
109        if (jQuery(this).hasClass(wait_class)) {
110            return false;
111        }
112        var href = jQuery(this).attr("href");
113        var re = new RegExp("goods=([0-9A-Za-z_\-]+)");
114        var matches = href.match(re);
115        var goods = "";
116        var name = jQuery(this).data('name');
117        var color = jQuery(this).data('color');
118        var size = jQuery(this).data('size');
119        var point = jQuery(this).data('point');
120        var price = jQuery(this).data('price');
121        if (matches && matches.length == 2) {
122            goods = matches[1];
123        } else {
124            return true;
125        }
126        if (jQuery("#agree_" + goods).length > 0) {
127            var btn = this;
128            ecblib.ui.dialog('agree_' + goods, {
129                buttons: {
130                    'btnAgree': function (action) {
131                        addCart(btn, goods);
132                        action.close();
133                    }
134                    , 'btnNotAgree': function (action) {
135                        action.close();
136                    }
137                }
138            });
139        } else {
140            addCart(this, goods);
141            return false;
142        }
143        return false;
144    });
145    
146    jQuery(document).on("change", ".block-variation--item-dropdown", function (e) {
147        var selectgoods = jQuery(this).val();
148        jQuery('.js-animation-add-cart').attr("href", ecblib.sys.wwwroot + '/shop/cart/cart.aspx?goods=' + selectgoods);
149        jQuery('.js-animation-add-cart').data('name', jQuery('.block-variation--item-dropdown option[value=\"' + selectgoods + '\"]').data('name'));
150        jQuery('.js-animation-add-cart').data('color', jQuery('.block-variation--item-dropdown option[value=\"' + selectgoods + '\"]').data('color'));
151        jQuery('.js-animation-add-cart').data('size', jQuery('.block-variation--item-dropdown option[value=\"' + selectgoods + '\"]').data('size'));
152        jQuery('.js-animation-add-cart').data('point', jQuery('.block-variation--item-dropdown option[value=\"' + selectgoods + '\"]').data('point'));
153        jQuery('.js-animation-add-cart').data('price', jQuery('.block-variation--item-dropdown option[value=\"' + selectgoods + '\"]').data('price'));
154    });
155});

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.