Tôi đang gặp lỗi loại JavaScript trong Minicart, trang xem sản phẩm và trang Checkout .
TypeError: $.widget is not a function
$.widget('mage.priceBox')
$.widget('mage.dataPost')
Làm sao tôi có thể giải quyết việc này?
Tôi đang gặp lỗi loại JavaScript trong Minicart, trang xem sản phẩm và trang Checkout .
TypeError: $.widget is not a function
$.widget('mage.priceBox')
$.widget('mage.dataPost')
Làm sao tôi có thể giải quyết việc này?
Câu trả lời:
Tôi đã có cùng một vấn đề khi sử dụng Porto Theme. Trong trường hợp của tôi đôi khi jQuery được công nhận, đôi khi không. Thật không may, tôi không hiểu nguyên nhân, nhưng tôi đã tìm ra giải pháp.
Tóm lại: Hợp nhất tất cả các tệp javascript.
Stores -> Configuration -> Advanced -> Developer -> JavaScript Settings
Kích hoạt:
Không cần thiết để triển khai các tệp tĩnh
bin/magento setup:static-content:deploy
Xóa bộ nhớ cache bên dưới System -> Cache Management
Additional Cache Management
vùng chọn NútFlush CSS/Javascript Cache
Flush Magento Cache
sau đóBây giờ xóa Cache trong Trình duyệt và tải lại.
Để phát triển giải pháp này không thỏa mãn, nhưng ít nhất là cho năng suất, sử dụng nó phải là một giải pháp làm việc tốt, không có hành vi khó lường.
Hy vọng nó giúp..
map: { '*': {
được sử dụng và đôi khi paths: {
...
Tôi cũng có vấn đề này nhưng sau đó tôi đã chạy qua bài viết này: http://www.danjoseph.me/2016/09/16/magento-2-widget-not-feft/
Trong bài viết, ông giải thích rằng jquery đã được tải lần thứ hai trên trang và do đó ghi đè lên phiên bản được tải bởi magento trước đó. Đối với tôi đó là một kịch bản tiếp thị cũng đang tải jquery vì một số lý do. jQuery chỉ nên được tải một lần trong đầu bởi thẻ này và tất cả những thứ khác sẽ bị xóa.
<script type="text/javascript" charset="utf-8" async="" data-requirecontext="_" data-requiremodule="jquery" src="http://seatup.local/pub/static/frontend/Seatup/theme/en_US/jquery.js"></script>
Chuyển đến thư mục chủ đề của bạn và tìm tệp sau trong thư mục Magento_Theme
default_head_blocks.xml
và thay thế
<script src="jquery.js" />
với
<remove src="jquery.js" />
Hãy chắc chắn rằng bạn làm sạch bộ nhớ cache và làm mới trang.
Tôi đã có cùng một vấn đề và đã giải quyết nó bằng phương pháp trên.
Uncaught Error: Bootstrap's JavaScript requires jQuery at bootstrap.min.js:6