在以下站点上遇到了 Pjax 片段的难题:
https://dl.dropboxusercontent.com/u/65752410/map.html
目前,单击导航中的“计划”和“地图”链接将通过 Pjax 以及一些条件 JavaScript 加载页面片段,由 requirejs 提供。
在“地图”页面上,第一次加载页面时会正确计算每个元素的宽度与一个类.side-panel
。然而,后续加载将返回 0 的宽度,尽管当查询宽度时所选元素存在于 DOM 中。
要重现错误:
- 等到地图加载
- 单击“计划”链接以加载计划页面
- 单击“地图”链接以加载地图页面。每个的宽度
.side_panel
将记录为 0。
如果您在此测试期间保持控制台打开,您将看到在页面加载时记录了正确的宽度,计划页面在第二步中动态加载,然后地图页面与.side_panel
DOM 中的元素一起加载,但是返回宽度为 0。