次のサイトで、Pjax フラグメントに関する難しいバグに遭遇しました。
https://dl.dropboxusercontent.com/u/65752410/map.html
現在、ナビゲーションの「スケジュール」および「マップ」リンクをクリックすると、requirejs の厚意により、いくつかの条件付き JavaScript とともに Pjax を介してページ フラグメントが読み込まれます。
「マップ」ページでは、最初のページの読み込みで、各要素の幅が.side-panel
正確にクラスで計算されます。ただし、幅が照会されたときに選択された要素が DOM に存在するという事実にもかかわらず、後続の読み込みでは幅 0 が返されます。
バグを再現するには:
- マップが読み込まれるまで待ちます
- 「スケジュール」リンクをクリックしてスケジュールページを読み込みます
- 「地図」リンクをクリックして、地図ページを読み込みます。それぞれの幅は
.side_panel
0 として記録されます。
このテスト中にコンソールを開いたままにしておくと、ページの読み込み時に適切な幅が記録され、スケジュール ページが 2 番目のステップで動的に読み込まれ、マップ ページが.side_panel
DOM の要素と共に読み込まれることがわかりますが、幅 0 を返します。