検索
ホームページウェブフロントエンドH5 チュートリアルモバイル H5 開発で遭遇する問題と解決策

この記事で紹介する内容は、モバイル H5 開発で遭遇する問題とその解決策に関するものであり、一定の参考価値があります。困っている友人は参考にしていただければ幸いです。

WeChat 共有署名エラー無効な署名

vue 単一ページ アプリケーション履歴モードでは、WeChat 共有で常に署名エラー無効な署名が表示されます

WeChat 公式 Web サイトのドキュメント、jssdk によるとが導入され、js セキュア ドメイン名を正しく構成し、バックエンド開発者によって生成された署名も WeChat 署名ツールによって検証されますが、フロントエンドのカスタム共有では常に署名エラーが報告され、それを確認する方法はありません。基本設定に問題がなく、署名も WeChat 署名ツールの検証に合格した場合は、フロントエンドがアクセスする URL と URL の不一致によって署名エラーが発生している可能性があります。

フロントエンドが署名を取得するために ajax を介して URL をバックエンドに渡す場合、現在のページのリンクのハッシュ部分を削除する必要があります。 to encodeURIComponent

let url = location.href.split('#')[0]
encodeURIComponent(url)

通常、これで WeChat でのカスタム共有を実現できますが、シングルページ アプリケーションのルーティングが切り替わった後も、IOS 側では依然として署名エラーが表示されますが、Android 側では問題ありません

これは、履歴モードのビューがpushStateを通じて切り替えられるためですが、IOS WeChatクライアント(Androidクライアントは修復されています)はpushStateの新しいH5機能をサポートしていないため、ルーティングは変更されますが、WeChatブラウザはURLを取得します。変更されていません。右上隅のリンクをコピーすると、WeChat によって記録された URL が最初に入力したときの URL のままであることがわかります。手動で更新するか、window.location などのページ ジャンプ メソッドを使用して更新しない限り、最新の URL

解決策は、ページに入るときに URL を記録することです。iOS デバイスの場合は、この URL を使用して WeChat 署名を取得します。

router.afterEach(to => {
  sessionStorage.setItem('currentUrl',window.location.href)
})
let url = encodeURIComponent(location.href.split('#')[0])
if(system == "iOS" && sessionStorage.getItem('currentUrl')) {
  url = encodeURIComponent(sessionStorage.getItem('currentUrl').split('#')[0])
}

現時点では、この URL を使用して WeChat 署名を取得するのが正しいです。この方法は、IOS デバイスの場合にのみ適しています。署名された URL が WeChat によって記録された URL と一致している限り、正しいものになります。

ラウンドトリップキャッシュの問題

ブラウザの「進む」ボタンと「戻る」ボタンをクリックすると、js が自動的に実行されないことがあります。特に Safari では、これはラウンド トリップ キャッシュ (bfcache) に関係しています。
解決策: window.onunload = function(){};

Vue シングルページ アプリケーションでキープアライブが使用されている場合、ページは更新されません。このとき、一部のインターフェイスはbeforeRouteEnterメソッドに置く

IOSはnew Date("2019-01-01 00:00:00")の形式をサポートしていません

この書き方new Date("2019-01 -01 00:00:00") は Android 側ではサポートされていますが、IOS 側ではサポートされておらず、NAN エラーが報告されるため、new Date("2019- 01-01 00:00:00") から新しい日付("2019/01/01 00:00:00") このフォーム

let date = '2019-01-01 00:00:00'
date.replace(/\-/g, '/')

WeChat QRコード

複数のQRがある可能性がありますページ上にコードが複数ありますが、長押しすると 2 つ識別されます QR コードは最後の QR コードのみを認識します。現時点では、ページの表示領域に 1 つの QR コードのみが表示されるように制御する必要があります。

IOS ではクリックできません

span、p などはデフォルトではクリックできませんクリックされたラベル、クリック イベントの監視は IOS では無効です

解決策、カーソル: ポインタ;
# を追加してください##audio オーディオを再生できません

audio.play() メソッドは Android デバイスでは正常に再生できますが、IOS クライアントでは再生できません。オーディオの src を設定した後、次の行を追加する必要がありますコード

audio.load() でオーディオをロードします


オーディオが正常かどうかは、loadeddata メソッドを監視することで確認できます 再生を開始します Android はオーディオがロードされた後に再生を開始するように設定されていますが、 iOS 側で若干の遅延が発生する可能性があります。この時点で、audio.currentTime を通じてオーディオの再生が開始されたかどうかを取得できます。この値が 0 より大きい場合、再生が開始されたことを意味します。

IOS モバイル端末のクリック イベントに対する応答が 300ms 遅延する

修正された問題

ios8 より前のシステムでは、小さなキーボードがアクティブになると、位置が浮く問題が発生します。解決策は: css を追加するだけです。中間部分の外側のレイヤー p にスタイルを追加します。

position:fixed;top:50px;bottom:50px;overflow:scroll;


この記事はここにすべてありますが、他にも興味深いコンテンツがあります。 PHP 中国語 Web サイトの

HTML5 ビデオ チュートリアル

列に注目してください。


以上がモバイル H5 開発で遭遇する問題と解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はsegmentfaultで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
微信文件多久过期微信文件多久过期Nov 21, 2022 pm 02:12 PM

微信文件的过期时间需要根据情况来判断:1、如果发送的文件没有打开过,则在72小时以后微信系统会自动清理掉,即过了三天文件就会过期;2、如果已经查看了微信文件,但是并没有下载(当然已经下载的文件也是一样的),那么文件是可以保留180天的,在这180天以内随时都可以去下载。

微信拉黑和删除有什么区别微信拉黑和删除有什么区别Oct 18, 2022 am 11:29 AM

区别:1、拉黑后对话框从主页消失,但是聊天记录还在;删除后聊天记录全部消失不见了。2、拉黑后还能发给他,但是收不到他的消息;删除后不能发信息了。3、拉黑后双方都不可见彼此的朋友圈;删除对方以后,你看不到对方的朋友圈了,对方是否能看到你的,取决于设置(允许陌生人查看十张照片)与否,如果设置则可以看到朋友圈。

支持微信付款的购物平台有哪些支持微信付款的购物平台有哪些Nov 02, 2022 pm 02:44 PM

支持微信付款的购物平台有:1、京东,是中国的综合网络零售商;2、唯品会,是一家在线销售品牌折扣商品的互联网公司;3、拼多多,是社交新电商领导者,更懂消费者的购物平台;4、京喜,是京东旗下生活消费商城;5、蘑菇街,一个电子商务网站;6、聚美优品,是一家以销售化妆品为主的时尚购物网站;7、微店,是一个云推广电子商务平台;8、考拉海购,是一个跨境海淘业务为主的会员电商平台。

微信怎么查看ip地址微信怎么查看ip地址May 31, 2023 am 09:16 AM

微信查看ip地址的方法:1、登录电脑版微信,右键点击屏幕下方的任务栏,点击“任务管理器”;2、弹出任务管理器时,点击左下角的“详细信息”;3、任务管理器进入“性能”选项,点击“打开资源监视器”;4、选择“网络”,勾选微信进程“Wechat.exe”;5、点击下面的“TCP连接”即可监视微信网络IP相关情况,发送消息得到回复就会显示他人的IP地址。

微信可以绑别人的银行卡号么微信可以绑别人的银行卡号么Mar 14, 2023 pm 04:53 PM

可以。未经过实名认证的微信号,可以绑定他人的银行卡,但在绑定过程中需要提供银行卡的开户人姓名、开户行地址、开户时预留的联系方式及银行卡支付密码;已通过实名认证的微信号,无法绑定他人银行卡,只能添加使用自己身份证办理的银行卡。

财付通是微信还是支付宝财付通是微信还是支付宝Oct 18, 2022 pm 02:35 PM

财付通是微信,是腾讯公司旗下的第三方支付平台,其核心业务是协助在互联网上进行交易的双方完成支付和收款,其使用方式是:1、进行账户注册及登录;2、进行账户充值;3、根据需求设置快捷支付;4、通过打开微信支付或QQ钱包查询交易账单。

电脑微信打字为什么打一个少一个电脑微信打字为什么打一个少一个Mar 28, 2023 pm 03:43 PM

电脑微信打字打一个少一个是因为开启了改写状态,其解决办法:1、打开电脑微信;2、在微信聊天窗口输入对话文字内容;3、找到并按下键盘上的Insert键即可正常输入文字内容。

一个身份证只能绑定一个微信吗一个身份证只能绑定一个微信吗Mar 02, 2023 pm 01:50 PM

不是,一个身份证能绑定5个微信。按照微信当前规定,一个身份证可以实名认证5个微信号;如果已经实名认证了5个微信账号,但是还想要继续实名,就要把已经实名认证的一些不用的微信号清除以后,才可以再实名认证新的微信号。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター