我有一个非常奇怪的问题。我有一个使用ATG / BCC电子商务框架构建的国际网站。在产品页面上,我使用JavaScript来显示与样式相关的大小选项。我的问题只在中国,尺寸根本没有出现。我无法重现这个问题,但客户正在打电话和抱怨。我在中国有几个人测试这个问题,他们也无法复制。客户已尝试使用不同的浏览器并清除其缓存,但仍无法查看大小。我读过中国阻止某些网站,但由于中国的一些用户没有这个问题,我认为不是这样。
我真的不认为这是我的代码的问题,因为它适用于其他所有地区和大多数中国用户。
有人知道在中国可能导致这个问题的原因吗?
HTML
<div id="product-sizes">
<%-- Sizes will be rendered using the JS template below --%>
</div>
<script type="text/template" id="tml-productsizes">
<ul>{{#sizes}}<li class="{{cssClass}} {{selected}}" data-name="{{key}}">{{name}}</li>{{/sizes}}</ul>
</script>
脚本
var $productSizesTemplate = $("#tml-productsizes");
if (typeof isColor !== "undefined" && isColor) {
this.renderSizes($productSizesEl, $productSizesTemplate, this.getSelectedColor());
}
renderSizes: function ($targetEl, $template, color) {
var templatedata = [],
productSizes = this.sizes, // array of {key: "m", value: "med"}
isPartialSale = this.isPartialSale(),
colorSizes = this.getColorSizes(color);
for (var i = 0, len = productSizes.length; i < len; i++ ) {
var size = productSizes[i],
sku = this.skus[color+size.key];
templatedata.push({
'cssClass': ($.inArray(size.key, colorSizes) >= 0)? 'size ' + ((sku && sku.onSale) ? "is-onsale": ''):'size unavailable',
'key': size.key,
'name': size.value,
'selected': (this.getSelectedSize() === size.key )? 'selected': undefined
});
}
$targetEl.html(Mustache.render($template.html(), {sizes:templatedata}));
});
答案 0 :(得分:0)
我最终找到了这个问题。在我的代码中,我引用了位于Google服务器上的jQuery。 QA团队使用允许他们在中国使用计算机的软件进行了测试。他们发现来自Google的CDN的jQuery有时需要多达50个SECONDS TO LOAD!我将jQuery文件移动到我们的CDN,这解决了问题。
中国伟大的防火墙......