更新
似乎将Firefox更新到46可解决此问题!
原始调查
由于我也面临这个烦人的问题,因此我决定尝试一下。
组态
- Ubuntu Server 12.4
- PHP 5.5.30
- MySQL 5.6.27
- Magento 2.0.4全新安装,无示例
- 禁用缓存的开发人员模式
复制问题
乍一看,这个问题在我看来是完全随机的。但是,经过几次测试,我设法找到了确切的方法来复制问题。
浏览器
首先,我无法在Google Chrome,Internet Explorer 11或旧版Windows Safari 5.2.17上复制该问题。我主要使用FireFox(45.0.2),很少使用Google Chrome。即使我找到了确切的问题重现方法,也无法在Chrome上重现。
标签
您需要在FireFox上打开几个选项卡才能复制该问题。
脚步
- 打开管理面板并登录
- 进入仪表板后,您可以单击任何菜单项。我通常会再次点击仪表板图标
- 单击菜单项后,单击一个打开的选项卡,并在等待管理面板完成加载时继续浏览Internet(基于选项卡标题旁边的旋转图标)
- 不幸的是,您永远不会加载该页面。
调查中
因此,当客户端未将注意力集中在“管理面板”的选项卡上时,Magento 2似乎并未加载所有资源以使网站完全加载。
我注意到,回到无限加载管理面板页面时,发现有很多资源已成功加载。
正如Fabian所说,控制台中没有错误,没有资源仍在加载,没有资源未能加载。一切似乎页面已完成加载。
但是,当我单击Firefox的“停止加载”按钮(URL栏中的X)时,我注意到在网络选项卡中添加了多个资源,这些资源在页面处于无限加载状态时不在此处。
请注意:以下屏幕截图仅用于仪表板,例如,在单击配置页面上的“停止加载”按钮后,我注意到已加载了更多资源。
因此,对于“仪表板”页面,这些资源是在我单击“停止加载”按钮后添加的。
当页面正常加载时,通过不切换到其他选项卡,在DOM加载后加载了以下资源(我通过AJAX进行了假设),您会注意到这些资源和上面的资源之间的粗线是灰色的:
因此,出于某种原因,当页面处于无限加载状态时,将自动加载以下资源,但是当页面加载正常时,将在DOM加载后加载以下资源:
/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
这就是我完成调试任务的程度,我认为仍然可以做很多工作来测试和缩小问题范围,但是我没有时间进行更多测试,我将在有时间的时候再进行讨论。
进一步调查
因此,我最终在FireFox上安装了HTTPFox插件。
这是加载1分钟后单击“停止加载”按钮时得到的结果(您可以jquery.storageapi.min.js
在时间列中看到59s)。高亮显示的行是我停止加载后加载的资源:
我尝试使用GitHub上可用的最新版本升级jquery.storageapi库,但不幸的是,它似乎无法解决该问题。
由于收藏夹图标在列表中的下一个位置,我注释了将收藏夹图标添加到头部的代码,但它也没有解决问题。
我尝试调试该domReady.js
文件,因为它的名称听起来可能是错误的,但没有机会。
另外,这是两个access.log
文件:
仍然不知道这里发生了什么。
更新资料
我最近对安装进行了两项更改:
- 将FireFox升级到46.0
- 从2.0.4升级到2.0.5
现在,我无法再复制该问题了。