iOS WeChat H5ページのゴム反発効果の落とし穴記録

iOS WeChat H5ページのゴム反発効果の落とし穴記録

ビジネス要件

最近開発したプロジェクトの一つに、WeChat公式アカウントに関連したH5ページがあります。Android版WeChatではページ表示は正常ですが、iOS版WeChatでは予期せぬバグが発生しています。今回は、iOS のモバイル H5 ページのラバーリバウンド (輪ゴム効果) 問題を主に記録し、同様の問題に遭遇した学生の役に立ちたいと考えています。

🐕解決策1: inobounce.jsを使用する

inobounce.js github アドレス

つまり、HTML メインページのヘッダータグに inbounce.js を導入します。このファイルが導入されると、iOS 上のページ全体をスライドまたはスクロールできなくなります。スクロール要素でスクロール効果を実現したい場合は、スクロール領域に固定の高さ、つまり height、max-height を設定し、さらにページスライドを実現するために overflow: auto を設定する必要があります。 iOS でページのスクロールがフリーズするのを防ぐには、スクロール領域に -webkit-overflow-scrolling: touch プロパティを設定する必要があります。

<!DOCTYPE html>
<html lang="ja">
	<ヘッド>
		<メタ文字セット="UTF-8" />
		<meta name="viewport" content="width=デバイス幅、初期スケール=1.0" />
		<title>イノバウンス</title>
		<script src="inobounce.js"></script>
		<スタイル>
			ul {
				高さ: 115px;
				境界線: 1px の灰色
				オーバーフロー:自動;
				-webkit-オーバーフロースクロール: タッチ;
			}
		</スタイル>
	</head>
	<本文>
		<ul>
			<li>リスト項目 1</li>
			<li>リスト項目 2</li>
			<li>リスト項目 3</li>
			<li>リスト項目 4</li>
			<li>リスト項目 5</li>
			<li>リスト項目 6</li>
			<li>リスト項目 7</li>
			<li>リスト項目 8</li>
			<li>リスト項目 9</li>
			<li>リスト項目 10</li>
		</ul>
	</本文>
</html>

🐒 解決策 2: CSS スタイル処理 (推奨)

偶然、iOS 側でいくつかのパブリック アカウントの H5 アクティビティ ページを開いたところ、いわゆるラバー リバウンド効果は見られませんでした。そこで、この効果を利用して、iOS Web ページで発生するラバー リバウンド効果を解決できるのではないかと考えました。最後に、この方法を使用すると、ゴムの反発効果を発生させずに iOS 上のページを修正できます。ラバーバンド効果は、システムバージョン iOS13+ のデバイスでは解決されています。システムバージョン iOS12+ のデバイスではテストされていません。iOS12+ を搭載した Apple の携帯電話を見つけてさらにテストし、テスト結果を補足する予定です。

<!DOCTYPE html>
<html lang="ja">
	<ヘッド>
		<メタ文字セット="UTF-8" />
		<meta name="viewport" content="width=デバイス幅、初期スケール=1.0" />
		<title>iOS 消しゴムの復活</title>
	</head>
	<本文>
		<!-- コンテンツエリア -->
		<div id="アプリ"></div>
	</本文>
</html>

メイン CSS コード:

/* 初期化 */
* {
	マージン: 0;
	パディング: 0;
}
/* 基本スタイル */
html,
体 {
	幅: 100%;
	高さ: 100%;
	オーバーフロー: 非表示;
}
体 {
	ボックスのサイズ: 境界線ボックス;
	位置: 相対的;
}
/* 範囲外にスクロール */
#アプリ {
	幅: 100%;
	高さ: 100%;
	オーバーフロー-y: 自動;
}

🐬概要:

一般的に、私は実際の開発で両方のソリューションを試しました。解決策 1 は、WeChat で H5 Web ページを閲覧する際のゴムの反発効果を完全に解決できます。iOS WeChat で H5 ページがジャンプすることを許可されると、下部にナビゲーション バーが表示されます。このとき、ナビゲーション バーも覆われている可能性があり、ナビゲーション バーの両端のボタンをクリックしても反応しません。 Safari で H5 ページを開くと、Web ページの上部にあるアドレス バーと下部にあるメニュー バーがある程度ブロックされ、エクスペリエンスがあまり理想的ではありません。最終的に、この解決策は承認されました。ソリューション2は私が実際の仕事で使用しているもので、リバウンド効果が一定程度改善されました。ソリューション1と比較して、体験効果が大幅に向上しました。

ページに WeChat の権限があり、ページ パスがジャンプする場合、iOS 上の WeChat で開かれた Web ページの下部に追加のナビゲーション バーが表示されます。同様に、Android 上の WeChat には同様のナビゲーション バーは表示されません。 WeChat 認証とページジャンプがない場合は、両方のソリューションはオプションです。WeChat 認証がある場合は、ソリューション 2 を使用することをお勧めします。

iOS WeChat H5ページの消しゴムリバウンド効果に関するこの記事はこれで終わりです。iOS WeChat H5ページの消しゴムリバウンドに関するより関連性の高いコンテンツについては、123WORDPRESS.COMの過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも123WORDPRESS.COMを応援していただければ幸いです。

<<:  vsftpdで仮想ユーザーログインを設定する方法

>>:  既存のMySQLデータベースの文字セットを統一する方法

推薦する

MIME タイプの完全なリスト

MIME タイプとは何ですか? 1. まず、ブラウザがコンテンツを処理する方法を理解する必要がありま...

CentOS の MySQL に MariaDB をインストールするときに発生する方法と問題

以前にインストールしたmariadbを削除する1. rpm -qa | grep mariadb を...

jQueryはショッピングカートの完全な機能を実現します

この記事では、ショッピングカートの完全な機能を実現するためのjQueryの具体的なコードを参考までに...

IEのクラッシュバグ

コードをコピーコードは次のとおりです。 <スタイル タイプ="text/css&qu...

Div はフラッシュを覆います。フラッシュ透過方式により、フラッシュ上に DIV レイヤーを配置できます。

2つのタイプがあります: (異なるブラウザ) 1. IEブラウザで利用可能コードをコピーコードは次の...

Vue の this.$store.state.xx.xx に関する簡単な説明

目次これを Vue.$store.state.xx.xxストアからデータを取得する私のプロジェクトフ...

MacBook 向け Python 3.7 インストール チュートリアル

MacBookにpython3.7.0をインストールする詳細な手順は、参考までに記録されています。具...

純粋な CSS3 を使用して、円の動的な光る特殊効果アニメーションを実装するためのサンプル コード

この記事では、主に、円形のダイナミックな光る特殊効果アニメーションを実現するための純粋な CSS3 ...

Vueベースのビデオプレーヤーの実装例

既存のビデオ プレーヤーがニーズを満たせない場合は、ビデオを自分でカプセル化する必要があります。ビデ...

MySQL の起動オプションとシステム変数の例の詳細な説明

目次ブートオプションコマンドラインパラメータの長い形式と短い形式設定ファイル構成グループシステム変数...

Windows 10 インストール vmware14 チュートリアル図

ソフトウェアのダウンロードソフトウェアのダウンロード リンク: https://pan.baidu....

Windows 10 での MySQL 5.7.21 インストーラのインストール グラフィック チュートリアル

MySQLをインストールしてメモしておきます。うまくインストールできるか分かりませんが、試してみます...

Vueはツリー構造の追加、削除、変更、チェックのサンプルコードを実装します

実は多くの会社がユーザー権限ツリーに似た機能を持っています。最近、追加、削除、修正のツリー構造を書き...

最もよく使用されるJavaScriptイベントについて詳しく学ぶ

目次JavaScript イベント:よく使用されるイベント:イベントアクション要約するJavaScr...

Vue 値転送の 12 の方法の概要

目次1. 父から息子へ2. 息子から父へ3. ブラザーコンポーネント通信(バス) 4. ref/re...