Google Chrome をバージョン 26 に更新した後に発生し始めた jQuery-Mobile サイトでレイアウトの問題が発生しています。ページの基本的なレイアウトは次のとおりです。ヘッダ。
<div data-role="page" data-theme="b" position="fixed">
<div id="desktopSideBar">
<div id="mobile_navigation_content">
<div class="ui-bar-a ui-header" data-position="inline" id="navigationHeader">
<a class="ui-btn-left" data-icon="back" data-iconpos="notext" data-inline="true" data-mini="true" data-role="button" data-theme="b"></a>
<h4>First Header</h4>
</div>
</div>
</div>
<div id="desktopContentPane">
<div class="ui-bar-a ui-header" data-position="inline" id="contentToolbar">
<a class="ui-btn-left" data-icon="arrow-l" data-inline="true" data-mini="true" data-role="button" data-theme="b">Hide</a>
<h4>Second header</h4>
<a class="ui-btn-right" data-icon="gear" data-iconpos="notext" data-inline="true" data-mini="true" data-role="button" data-theme="b"></a>
</div>
</div>
</div>
明らかに、このタイプのことは jQM フレームワークに正確に組み込まれているわけではないため、ペインとそのヘッダーを適切に配置およびサイズ変更するための JavaScript コードを追加する必要がありました。
このフィドルは、私のページの簡略化されたバージョンを示しています。
問題はヘッダーの右側にあり、ヘッダーのタイトルと一番右のボタンが左側に積み上げられています。Firefox または IE でフィドルを開くと、目的のレイアウトが表示されます。
奇妙なことに、Chrome はまだ要素がどこにあるべきかを認識しているようです。歯車アイコンのボタンをクリックするとすぐに右に移動し、ヘッダーを右クリックして「要素を検査」を選択すると、いくつかの css スタイルのチェックを外してチェックすることで、ヘッダー バー全体を修正することができます。<div class="ui-header">
タグに。
私が探しているのは、まず、これを引き起こす可能性のある Chrome v.26 で何が変更された可能性があるかという考えです。これは、問題の根本に到達するのに役立ちます。
現在の私の回避策は、サイズ変更コードにこれを追加することです。
setTimeout(function () {
$("#contentToolbar").removeClass("ui-header").find("h4").css("text-align", "left");
setTimeout(function () {
$("#contentToolbar").addClass("ui-header").find("h4").css("text-align", "center");
}, 5);
}, 500);
...要素が再配置されると、顕著なちらつきが発生します。
ありがとう!