一天中大部分时间都在研究一个问题,想知道是否有其他开发人员在 Chrome 上遇到过这个问题。
早些时候发布了这个问题(Chrome 在立即购买按钮上触发了双重操作),但经过进一步审查,似乎该错误可能与 Chrome 相关。
我们的产品页面上有此代码已有 2 年了
<a class="blue_btn" >
<xsl:attribute name="href">#</xsl:attribute><xsl:attribute name="id">Buy_<xsl:value-of select="VariantID"/></xsl:attribute><span>Buy Now</span></a>
从今天早上开始,任何使用最新版 Chrome 并在购物车中添加 1 件产品的人都将获得 2 的价值。
如果跨度标签被删除,它会增加一个值 1,如果它们在那里,它会以某种方式触发立即购买功能两次。
我进入了 Chrome 开发工具,这是代码示例
<script type="text/javascript" xmlns:eos="urn:eos">
$(document).ready(function() {
$('#Buy_28488').click(function() { AddToCart(); });
function AddToCart() {
var qty = $('#Quantity_28488').val();
if (qty == 0) {
alert('Please select a Quantity greater than zero');
return;
}
var url = 'addtocart.aspx?Quantity='+qty+'&ProductID='+28479+'&VariantID='+28488+'&returnurl=p-28479-whey-to-go-protein-powder-chocolate.aspx';
window.open(url,'_self');
}
});
</script><div class="product_pg" xmlns:eos="urn:eos">
我可能需要在函数中调用 event.stoppropagation() 来停止多次点击事件,但这会破坏拥有“立即购买”按钮的对象。
令我困惑的是删除跨度标签似乎可以解决问题。但我不是设计师,所以不确定我是否能解决这个问题。
有人有什么想法吗?