前回の記事「React Native と Web 間の基本的な相互作用の詳細な分析 (コード付き)」では、React Native と Web 間の相互作用について理解していただきます。ウェブ。次の記事では、WeChat アプレットと Web 間の相互作用について説明します。困っている友人は参照してください。お役に立てば幸いです。
バックグラウンド
通常、私たちは一連のアダプティブ Web プログラムを作成し、それらをさまざまな環境で使用したいと考えています。 、WeChatのミニプログラムや各種アプリ共有において、アプリを閲覧するだけであれば大きな問題はありませんが、埋め込みアプリでアプリ自体を操作したい場合は色々と手間がかかるので、この記事はこちらです。
ReactNativeを使ってみよう,
こちらをご覧ください
- 最初に必要なもの開発者の権限
- サーバーがあり、ファイルをアップロードする権限が必要です。そうでない場合は検証に合格しません。
- エンタープライズ アプレットである必要があります。個人用および海外ミニ プログラムでは、
web-view
コンポーネント
- 関連するドメイン名が有効な証明書と
https
service で構成されています。 ## が有効になっています
#アクセスしたい Web サイトはビジネス ドメイン名のホワイトリストに追加する必要があり、Web サイトによって呼び出される API インターフェイスはサーバー ドメイン名のホワイトリストに追加する必要があります。 ##api - インターフェースも使用する必要があります
https
上記の条件は同時に満たす必要があり、それぞれが不可欠です WeChatプロトコル
JSSDK
WeChat JSSDK の概要
外部紹介
<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script> //进一步提升服务稳定性,当上述资源不可访问时,可改访问 <script type="text/javascript" src="http://res2.wx.qq.com/open/js/jweixin-1.4.0.js "></script>AMD/CMD 標準モジュールのロード方法を使用してロード
インストール
npm i weixin-js-sdkmain.js で
import wx from 'weixin-js-sdk'を使用して、WeChat アプレット環境かどうかを判断します から
userAgent
へmicromessenger へ、または
window.__wxjs_environment から決定
WeChat 7.0.0 以降、 userAgent に miniProgram という単語が含まれているかどうかを判断することで、ミニ プログラムの Web ビュー環境を判断できます。
を導入し、環境変数を理解したところで始めましょう。import wx from "weixin-js-sdk"; let OS = "PC"; //假设有多种环境 let ua = window.navigator.userAgent.toLowerCase(); if ( ua.indexOf("micromessenger") >= 0 || window.__wxjs_environment === "miniprogram" ) { //在微信或者小程序中 wx.miniProgram.getEnv((res) => { if (res.miniprogram) { //在小程序中 OS = "wxminiprogram"; window.wx = wx; } else { //在微信中 OS = "weixin"; } }); }sdk
インタラクティブなサンプル アプレット
アプレットのコンポーネントを使用して、新しい
/page/webview/index.wxml## を作成します。 #web-view はミニ プログラム ページ全体を自動的に埋めます。個人および海外のミニ プログラムは当面サポートされません。クライアント バージョン 6.7.2 以降、navigationStyle:custom はコンポーネントでは無効です
<!-- 通过src 来传递当前url, 通过bindmessage 来监听html的传值 --> <web-view src="{{url}}" bindmessage="getMessage" />
New/page/webview/index.js
// pages/webview/index.js const app = getApp(); Page({ data: { url: "", shareData: {}, postData: {}, }, onLoad: function (options) { // nickName ,token 是登录之后拿到的信息 , 用来和h5 交互 let nickName = wx.getStorageSync("nickName"); let token = wx.getStorageSync("token"); let url = options.url; if (url) { //请注意传递url 请务必使用 decodeURIComponent 和 encodeURIComponent , 不然会白屏 url = decodeURIComponent(url); } //因为小程序 貌似还不能主动和H5 交互,所以拿到的登录信息,我们通过url 来传递. let localUrl = ""; if (token) { localUrl = url + "?token=" + userToken + "&nickName=" + nickName; } //犹豫地址存了token 和其他信息,分享会暴露,所以要手动重置分享地址 数据为 shareData this.setData({ url: localUrl, shareData: { titil: "测试小程序", desc: "测试小程序藐视描述", path: url, }, }); }, getMessage(e) { //此处接收html传递过来的参数 this.postData = e.detail.data; }, /** * 用户点击右上角分享 */ onShareAppMessage() { //重置分享链接和路径 return { title: this.shareData.title, desc: this.shareData.desc, path: this.shareData.path, }; }, });Web 側のインタラクション例
Web 側では、Web がミニ プログラム内にあるかどうかを判断する方法がわかっています。WeChat
jsskd を通じてインタラクティブな情報を直接送信できます。ネイティブ WeChat ミニ プログラム 同じ
ルーティング ジャンプを作成します
// 前面我们已经定义了window.wx = wx ,这里可以直接调用 // 还可以通过url 来获取token 等相关信息 if (OS == "RN") { //这里假设我们有多重环境.. } if (OS == "wxminiprogram") { wx.miniProgram.navigateTo({ url: "/pages/webview/index?url=" + decodeURIComponent("https://www.chuchur.com?id=100"), }); }
ミニ プログラムにデータを送信します
wx.miniProgram.postMessage({ data: { hello: "wrold", }, }); //web-view 则通过 bindmessage 来监听 传过来的数据
その他の方法
wx.miniProgram.navigateBack(); //返回 wx.miniProgram.switchTab(); //切换底部的导航 wx.miniProgram.reLaunch(); //重新加载 wx.miniProgram.redirectTo(); //地址重定向 wx.miniProgram.getEnv(); //获取当前环境
関連する質問
redirectTo
を実行してもジャンプできないという問題に遭遇したことはありますか? die? どうやって変更しますか? 実行されない、または実行は成功してもジャンプできないので、- redirectTo
- に変更してもダメです。
は現在のredirectTo
page - と
app.json
の下の
tabBar にジャンプできないため =>pagePath
が listに定義されている場合、ジャンプ先の
urlがたまたま
pagePathに定義されている場合は、switchTab を使用してください。
その他の API
公式 API アドレスを参照してください: https://developers.weixin .qq.com/miniprogram/dev/component/web-view.html
WeChat JS-SDK ドキュメントのアドレスを参照してください: https://developers.weixin.qq。 com /doc/offiaccount/OA_Web_Apps/JS-SDK.html推奨学習:
H5 ビデオ チュートリアル
以上がWeChat アプレットと Web 間の対話 (コード共有) の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

H5の高度なヒントには以下が含まれます。1。複雑なグラフィックスを使用して描画します。2。ウェブワーカーを使用してパフォーマンスを向上させます。これらのヒントは、開発者がよりダイナミックでインタラクティブで効率的なWebアプリケーションを構築するのに役立ちます。

H5(HTML5)は、新しい要素とAPIを介してWebコンテンツと設計を改善します。 1)H5はセマンティックタグ付けとマルチメディアサポートを強化します。 2)キャンバスとSVGを導入し、Webデザインを濃縮します。 3)H5は、新しいタグとAPIを介してHTML機能を拡張することにより機能します。 4)基本的な使用には、それを使用したグラフィックの作成が含まれ、高度な使用法にはwebstorageapiが含まれます。 5)開発者は、ブラウザの互換性とパフォーマンスの最適化に注意を払う必要があります。

H5は多くの新しい機能と機能をもたらし、Webページのインタラクティブ性と開発効率を大幅に改善します。 1。SEOの強化などのセマンティックタグ。 2.マルチメディアサポートは、オーディオとビデオの再生とタグを簡素化します。 3. Canvas Drawingは、動的なグラフィックスの描画ツールを提供します。 4.ローカルストレージは、LocalStorageとSessionStorageを介してデータストレージを簡素化します。 5. Geolocation APIは、ロケーションベースのサービスの開発を促進します。

HTML5は5つの重要な改善をもたらします。1。セマンティックタグにより、コードの明確性とSEO効果が向上します。 2.マルチメディアサポートは、ビデオとオーディオの埋め込みを簡素化します。 3。フォームエンハンスメントは、検証を簡素化します。 4.オフラインおよびローカルストレージにより、ユーザーエクスペリエンスが向上します。 5。キャンバスとグラフィック機能は、Webページの視覚化を強化します。

HTML5のコア機能には、セマンティックタグ、マルチメディアサポート、オフラインストレージ、ローカルストレージ、フォームエンハンスメントが含まれます。 1。コードの読みやすさとSEO効果を改善するためのセマンティックタグなど。 2.ラベルでマルチメディアの埋め込みを簡素化します。 3。アプリケーションキャッシュやLocalStorageなどのオフラインストレージとローカルストレージは、ネットワークのない操作とデータストレージをサポートします。 4.フォームエンハンスメントでは、処理と検証を簡素化するための新しい入力タイプと検証プロパティを導入します。

H5は、さまざまな新機能と機能を提供し、フロントエンド開発の機能を大幅に向上させます。 1.マルチメディアサポート:メディアを埋め込んで要素を埋め込み、プラグインは必要ありません。 2。キャンバス:要素を使用して、2Dグラフィックとアニメーションを動的にレンダリングします。 3。ローカルストレージ:ユーザーエクスペリエンスを改善するために、ローカルストレージとセッションストレージを介して永続的なデータストレージを実装します。

H5とHTML5は異なる概念です。HTML5は、新しい要素とAPIを含むHTMLのバージョンです。 H5は、HTML5に基づくモバイルアプリケーション開発フレームワークです。 HTML5はブラウザを介してコードを解析およびレンダリングしますが、H5アプリケーションはコンテナを実行し、JavaScriptを介してネイティブコードと対話する必要があります。

HTML5の重要な要素には、最新のWebページの構築に使用される、、,,,,などが含まれます。 1.ヘッドコンテンツを定義します。2。リンクをナビゲートするために使用されます。3。独立した記事のコンテンツを表します。4。ページコンテンツを整理します。5。サイドバーコンテンツを表示します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 中国語版
中国語版、とても使いやすい

Dreamweaver Mac版
ビジュアル Web 開発ツール

ホットトピック









