Я использую увеличенное всплывающее окно для показа изображений, и в этом всплывающем окне есть варианты, которые вы можете выбрать перед добавлением изображения в корзину во всплывающем окне.
Вот часть обратного вызова для увеличения js. В нем я призываю Woo добавить в корзину вариации JS файл. Я должен вызывать этот js-файл каждый раз, когда изображение загружается, чтобы оно правильно отображало изменения. Загрузка этого файла один раз на странице не работает для всплывающего окна.
type: "image",
callbacks: {
imageLoadComplete: function() {
jQuery.getScript("/wp-content/plugins/woocommerce/assets/js/frontend/add-to-cart-variation.min.js");
},
} .... etc
Таким образом, каждый раз, когда вы нажимаете, чтобы увидеть следующую фотографию, загружается add-to-cart -ification.min.js. Иногда требуется полная загрузка этого файла, потому что у него есть куча других вызовов для запуска других функций php. Если вы щелкнете по следующей стрелке несколько раз очень быстро, чтобы увидеть другие фотографии, то проблема начинается с того, что файл getScript загружается при каждом нажатии кнопки «Далее» и через некоторое время все зависает.
Даже если я добавлю woo js в область imageLoadComplete вместо использования getScript, у меня все еще есть эта проблема, поэтому проблема не в getScript, а в дополнительных функциях, которые запускаются после загрузки js. Использование setimeout также не вариант, потому что он все равно будет работать независимо от того, что.
Как я могу предотвратить возникновение этой проблемы?