0

iPad をお持ちの場合は、iPad でこのページwww.toughtomato.com/viewをチェックしてください (これは iPad2 でテストしました)。デスクトップ ブラウザで確認してください。どのブラウザでもかまいません。

左側のメニューが iPad で消えていることに気付いた場合でも、タップしてクリックできるため、要素はまだそこにあります。

この動作は、ページに Google マップ v3 スクリプトを含めることで解決できます。

<script type='text/javascript' src='http://maps.google.com/maps/api/js?sensor=false'></script>

このページの HTML からこの 1 行のコードを削除すると、メニューは iPad に表示されたままになります。何が原因で、解決策はありますか?

助けてくれてありがとう。これは非常にイライラする問題です。

[編集] Google マップ スクリプト以外のすべての JS をページから削除しました。

4

3 に答える 3

1

以前に iFrame を使用してマップを埋め込むことで回避策を見つけていただきありがとうございます。ただし、非表示の要素に次のプロパティを追加することでこの問題を解決しました。

z-index: -1;

Google マップ JS がロードされた後にのみ要素が非表示になったため、明らかに DOM を操作していました。残念ながら、対象となるブロック レベルの要素には共通点がありませんでしたが、ボディ タグ内の最初と最後のブロック要素が含まれていました。奇妙。

とにかく、このソリューションが、この奇妙なバグに遭遇した人に役立つことを願っています.

PS。iOS 5.1.1 を実行している iPad 1 で自分のサイトをテストしていました

于 2013-02-08T14:29:51.697 に答える
1

私もこれに参加しようと思いました。z-indexsをいじって、この投稿を見つけた場所が見つからなかった後

iPad Safari のスクロールにより、HTML 要素が表示されなくなり、遅れて再表示される

これは、スクロール中に要素が非表示になることに関係していました。

修正の1つは使用することでした

*:not(html) {
-webkit-transform: translate3d(0, 0, 0);

ハードウェアアクセラレーションを強制するには(私は思う)。私は修正版を使用し(すべてのdivに適用)、それが機能することを確認しました。

これが他の誰かに役立つことを願っています。

于 2013-03-15T15:25:21.253 に答える
1

この問題を次のように一般化できます。ページにサード パーティの JavaScript を含めていますが、これを行うと、サード パーティの JavaScript が存在しない場合の表示や動作が変更されます。

Google Maps JS の組み込みが問題を引き起こしているかどうかは、実際には言えません。

Google マップ JS が DOM を変更しており、プレゼンテーションに影響を与えている可能性があります。Google マップ JS が JS と競合している可能性があります。これは、Google Maps JS の記述が不十分であることが原因である可能性があります。これは、JS の記述が不十分であることが原因である可能性があります。

解決策や単一の出発点を提案するには、要因が多すぎます。

あなたが試すことができます:

  • JS を削除して、問題が解決しないかどうかを確認します。そうでない場合は、ページの影響を受けるコンテンツが JS にどのように依存しているか、および Google マップ JS と競合しないように JS を書き換える方法を調査してください。

  • JS が有効な場合と無効な場合の DOM を調べて、Google Maps JS がどのように変更されているかを確認する

  • 影響を受けるコンテンツに適用されたスタイルを調べる。どのようにCSSを更新して補償することができますか?

于 2012-05-18T08:48:54.443 に答える