![](/img/trans.png)
[英]Image for <option> works in firefox but not works in other browsers
[英]Script works in other browsers but not in Firefox
我正在使用腳本將產品添加到我的在線商店的購物車中。 在其他瀏覽器中,該功能正常工作但在Firefox中,產品從未添加到購物車中,我不知道為什么。
我已經閱讀過Firefox沒有提供全局事件對象的內容,但我不知道如何解決這個/我實現該對象的位置。
https://mylily.eu/pages/1-box-gratis-im-slipeinlagen-abo
這是我想通過點擊“In den Warenkorb”將產品添加到購物車的產品頁面之一。
下面是一些代碼片段,第一個是EventListener,onClick使用變量值執行實際的addItemToCart函數。 變量amount_slipeinlagen是一個可更改的全局變量,該值是在addItemtoCart函數上傳遞的:
<script>
document.getElementById("add-to-cart-button").addEventListener("click", function(){
addItemToCart(variantid_slipeinlagen, amount_slipeinlagen, frequency_slipeinlagen , "Weeks", "199014")
})
</script>
<script>
function addItemToCart (variant_id, quantity, shipping_interval_frequency, shipping_interval_unit_type, subscription_id) {
data = {
"quantity": quantity,
"id": variant_id,
"properties[shipping_interval_frequency]": shipping_interval_frequency,
"properties[shipping_interval_unit_type]": shipping_interval_unit_type,
"properties[subscription_id]": subscription_id
}
jQuery.ajax({
type: 'POST',
url: '/cart/add.js',
data: data,
dataType: 'json',
success: function() {
window.location.href = '/cart';
}
});
window.location = '/checkout';
}
</script>
在Firefox上,產品根本沒有添加到購物車中。
答案只能作為問題的指南,因為它很廣泛。
瀏覽器有Javascript環境。 他們每個人都運行特定版本的Javascript。 這些是供應商(谷歌瀏覽器,Firefox,Safari,IE)。 事實上,他們的JS引擎采用了獨立的Ecmascript標准(Javascript的標准體)。
它還取決於您為每個瀏覽器運行的版本。
因此,您很可能使用Firefox當前版本不支持的某些語法。
您可以做的是檢查控制台是否有錯誤,然后慢慢縮小生成錯誤的文件或代碼。 一旦確定了確切的代碼。 嘗試在不同的瀏覽器中測試運行代碼。
像Babel這樣的工具使您可以使用所有最新功能而不會出汗,並將其轉換為所有瀏覽器的統一代碼。 你必須配置一次。
現在,手動替換麻煩的代碼就足夠了。 可能你正在使用這種瀏覽器不支持的最新語法。 借助pollyfill或將其替換為您的應用需要運行的所有目標瀏覽器支持的Javascript代碼版本。
希望能幫助到你!
當你執行location.href = "/checkout"
,你將離開當前頁面,同時殺死頁面及其所有腳本。
jQuery.ajax確實啟動的異步XMLHttpRequest也可能在此過程中被瀏覽器殺死。
簡單地刪除此行將使您的代碼在Firefox中工作(通過在控制台中粘貼此代碼進行測試):
function addItemToCart(variant_id, quantity, shipping_interval_frequency, shipping_interval_unit_type, subscription_id) {
data = {
"quantity": quantity,
"id": variant_id,
"properties[shipping_interval_frequency]": shipping_interval_frequency,
"properties[shipping_interval_unit_type]": shipping_interval_unit_type,
"properties[subscription_id]": subscription_id
}
jQuery.ajax({
type: 'POST',
url: '/cart/add.js',
data: data,
dataType: 'json',
success: function() {
// only when we succeed do we redirect
window.location.href = '/cart';
}
});
// do not redirect now
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.