CẬP NHẬT
Có vẻ như việc cập nhật Firefox lên 46 đã khắc phục sự cố!
Điều tra ban đầu
Vì tôi cũng đang đối mặt với vấn đề phiền phức này nên tôi quyết định thử.
Cấu hình
- Máy chủ Ubuntu 12.4
- PHP 5.5.30
- MySQL 5.6.27
- Magento 2.0.4 cài đặt mới mà không cần mẫu
- Chế độ nhà phát triển bị tắt bộ đệm
Nhân rộng vấn đề
Ngay từ cái nhìn đầu tiên, vấn đề này trông hoàn toàn ngẫu nhiên với tôi. Tuy nhiên, sau nhiều thử nghiệm, tôi đã tìm ra chính xác cách tái tạo vấn đề.
Trình duyệt
Đầu tiên, tôi không thể sao chép sự cố trên Google Chrome, Internet Explorer 11 cũng như Windows Safari 5.2.17 cũ. Tôi chủ yếu sử dụng FireFox (45.0.2) và hiếm khi sử dụng Google Chrome. Ngay cả sau khi tôi đã tìm thấy chính xác cách sao chép sự cố, tôi vẫn chưa thể sao chép trên Chrome.
Tab
Bạn cần mở một vài tab trên FireFox để có thể sao chép vấn đề.
Các bước
- Mở bảng quản trị và đăng nhập
- Khi bạn đang ở trên bảng điều khiển, bạn có thể nhấp vào bất kỳ mục menu nào. Tôi thường nhấp vào biểu tượng bảng điều khiển một lần nữa
- Ngay sau khi bạn nhấp vào mục menu, nhấp vào một trong các tab đã mở của bạn và tiếp tục duyệt internet trong khi bạn chờ bảng quản trị của mình tải xong (dựa trên biểu tượng quay bên cạnh tiêu đề tab)
- Thật không may, bạn sẽ không bao giờ tải trang đó.
Cuộc điều tra
Vì vậy, có vẻ như khi khách hàng không tập trung vào tab của Bảng quản trị, Magento 2 dường như không tải tất cả tài nguyên để trang web tải hoàn toàn .
Điều tôi nhận thấy, khi tôi trở lại trang bảng điều khiển tải vô hạn là có rất nhiều tài nguyên đã được tải thành công.
Như Fabian đã nói, không có lỗi trong giao diện điều khiển, không có tài nguyên nào vẫn tải và không có tài nguyên nào không tải được. Tất cả mọi thứ trông giống như trang đã tải xong.
Tuy nhiên, khi tôi nhấp vào nút dừng tải của Firefox (chữ X trong thanh URL), tôi nhận thấy rằng một số tài nguyên đã được thêm vào tab mạng không có ở đây khi trang ở trạng thái tải vô hạn
XIN LƯU Ý: ảnh chụp màn hình bên dưới chỉ dành cho bảng điều khiển, tôi nhận thấy rằng nhiều tài nguyên đã được tải sau khi tôi nhấp vào nút dừng tải trên các trang cấu hình chẳng hạn.
Vì vậy, đối với trang Bảng điều khiển, các tài nguyên đó đã được thêm sau khi tôi nhấp vào nút dừng tải.
Khi trang được tải bình thường, bằng cách không chuyển sang tab khác, các tài nguyên sau được tải sau khi tải DOM (tôi giả sử thông qua AJAX), bạn có thể nhận thấy đường màu xám dày hơn giữa các tài nguyên đó và các tài nguyên ở trên:
Vì vậy, vì một số lý do, các tài nguyên sau được tự động tải khi trang ở trạng thái tải vô hạn nhưng được tải sau khi tải DOM khi trang tải tốt:
/static/adminhtml/Magento/backend/en_US/Magento_Ui/templates/modal/modal-popup.html
/static/adminhtml/Magento/backend/en_US/Magento_Ui/templates/modal/modal-slide.html
/static/adminhtml/Magento/backend/en_US/Magento_Ui/templates/modal/modal-custom.html
/static/adminhtml/Magento/backend/en_US/mage/apply/scripts.js
Đó là bao xa tôi đã thực hiện nhiệm vụ sửa lỗi của mình, tôi cho rằng vẫn còn nhiều việc chúng tôi có thể làm để kiểm tra và thu hẹp vấn đề nhưng tôi không có thời gian để thực hiện thêm các bài kiểm tra, tôi sẽ quay lại khi tôi có thời gian.
Điều tra thêm
Vì vậy, tôi đã kết thúc việc cài đặt plugin HTTPFox trên FireFox của mình.
Đây là những gì tôi nhận được khi nhấp vào nút dừng tải sau 1 phút tải (bạn có thể thấy jquery.storageapi.min.js
có 59 giây trong cột thời gian). Các hàng được tô sáng là các tài nguyên được tải sau khi tôi dừng tải:
Tôi đã thử nâng cấp thư viện jquery.storageapi với phiên bản cuối cùng có sẵn trên GitHub nhưng có vẻ như nó không khắc phục được sự cố.
Vì tải favicon tiếp theo trong danh sách, tôi đã nhận xét mã thêm favicon vào đầu nhưng nó cũng không khắc phục được vấn đề.
Tôi đã cố gắng gỡ lỗi domReady.js
tập tin vì tên của nó nghe có vẻ như có thể là lỗi nhưng không có cơ hội.
Ngoài ra đây là hai access.log
tập tin:
Vẫn không thể hiểu chuyện gì đang xảy ra ở đây.
Cập nhật
Gần đây tôi đã thực hiện hai thay đổi để cài đặt của mình:
- nâng cấp FireFox lên 46.0
- nâng cấp từ 2.0.4 lên 2.0.5
Bây giờ tôi không thể tái tạo vấn đề nữa.