ホームページ > ウェブフロントエンド > フロントエンドQ&A > vueをiOS携帯電話の下の小さなブラックボックスに適応させる方法

vueをiOS携帯電話の下の小さなブラックボックスに適応させる方法

PHPz
リリース: 2023-05-25 15:10:38
オリジナル
741 人が閲覧しました

Vue プロジェクトで、iOS スマートフォンに小さな黒いボックスが表示される場合は、ページのスライドが原因である可能性があります。この小さなブラック ボックスは通常、iOS 12 以降の Safari ブラウザに表示されます。ここではいくつかの解決策を紹介します。

解決策

オプション 1: iOS ページ スライドを無効にする

この方法のアイデアは、小さなブラック ボックスの出現を避けるためにページ スライドを禁止することです。これは、次の方法で実現できます。

問題を解決する必要があるページの mounted 関数に次のコードを追加します。

document.body.addEventListener('touchmove', (e) => {
      e.preventDefault();
}, { passive: false });
ログイン後にコピー

または、次のコードを App.vue コンポーネントに追加します。

<script>
    export default {
        mounted() {
            document.body.addEventListener('touchmove', (e) => {
              e.preventDefault();
            }, { passive: false });
        }
    }
</script>
ログイン後にコピー

これの効果は、ページのスライド イベントを無効にし、小さなブラック ボックスの問題を解決することです。ただし、この方法は全体の状況に影響するため、一部のページをスライドさせる必要がある場合、そのページに対して特別な処理が必要になります。

オプション 2: CSS を使用して解決する

CSS を使用して解決することも、比較的簡単な方法です。次のコードを親コンテナに追加します。

-webkit-overflow-scrolling: touch;
overflow-y: scroll;
ログイン後にコピー

例:

<div class="wrapper">
  <div class="content">
    <!-- 内容 -->
  </div>
</div>

<style>
.wrapper {
  -webkit-overflow-scrolling: touch;
  overflow-y: scroll;
}
</style>
ログイン後にコピー

ここでの -webkit-overflow-scrolling は、コンテナの制御に使用される CSS のプロパティです。スクロール方式。追加後、iOS の弾性スクロール効果が有効になり、小さなブラック ボックスの問題は解決されますが、ページ全体のスクロール効果が変化します。

オプション 3: better-scroll を使用する

better-scroll はモバイル端末のスクロールの問題を解決するライブラリであり、このライブラリを使用して iOS の小さなブラック ボックスの問題を解決できます。

まず、better-scroll をインストールします:

npm install better-scroll --save
ログイン後にコピー

次に、使用する必要があるページに better-scroll を導入して初期化します:

<template>
  <div>
      <div ref="wrapper">
          <!--内容-->
      </div>
  </div>
</template>

<script>
import BScroll from 'better-scroll'

export default {
  mounted() {
    this.scroll = new BScroll(this.$refs.wrapper, {
      probeType: 3,
      click: true
    })
  }
}
</script>
ログイン後にコピー

ここで注意する必要があるのは、より良い - スクロールの初期化はコンポーネントの mounted 関数で完了する必要があります。そうしないと問題が発生する可能性があります。

概要

上記は、iOS の小さなブラック ボックスの問題を解決するための 3 つの一般的な方法です。 iOS のページ スライドを無効にするのが最も簡単な方法ですが、全体的な状況に影響します。 CSS を使用して問題を解決すると、グローバルな問題を回避できます。最後に、プロジェクトで better-scroll を使用する必要がある場合は、初期化のタイミングに注意する必要があります。

以上がvueをiOS携帯電話の下の小さなブラックボックスに適応させる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート