iOS と JS の対話方法の違いは何ですか?この記事では、iOS と JS の間の現在の対話方法を簡単に比較します。必要に応じて参照してください。
これは、現在存在するインタラクション方法の単なる比較です。実装は関与しません。具体的な使い方を知りたい場合。 Baidu または Google を使用できます。
インターセプトプロトコルは、Android側とiOS側で直接インターセプトし、Webフロントエンドコードを統合できる最も単純な対話方法です。 Web フロントエンドはリンク内のパラメータを受け取ります。例:
88gongxiang://loginFunc&name=xxx&pwd=123456。 URL をインターセプトするスキームは 88gongxiang と同じです。これはネイティブによってインターセプトされ、ネイティブによって処理されます。
iOS7 以降、Apple は JavaScriptCore フレームワークを開始しました。これにより、Web ページがローカルのネイティブ アプリケーションと対話するのが非常に便利になります。さらに、このフレームワークを使用すると、Android と iOS を比較的統合でき、コードのセットを記述するだけで済みます。 Web フロントエンドをクライアントの 2 つのプラットフォームに適応させることで、Web フロントエンドの負荷を軽減します。
WebViewJavaScriptBridge は、現在 iOS で人気のある JS 対話フレームワークです。WebViewJavaScriptBridge は、インターセプト プロトコルに基づいたカプセル化です。 UIWebview と WKWebview の両方をサポートします。ただし、対応するコードを Web フロントエンドに組み込む必要があり、同時に Web フロントエンド コードは WebView JavaScript Bridge の規定に準拠する必要があり、Android と統合することはできません。
WKWebviewは、iOS 8以降に提供されるブラウザコンポーネントです。JSがWKWebviewと対話するとき、JSはwindow.webkit.messageHandlersを呼び出してメッセージを送信し、Nativeを呼び出します。 Web側でコードを統一することは不可能です。
上記のインタラクション方法は、さまざまなニーズに応じて決定されます。以下を参考にしてください:
Web 側で人手が不足している場合、または統一された処理を実行したい場合は、JavaScriptCore およびインターセプト プロトコルを使用できます。単純な対話型の方法の場合は、インターセプト プロトコルを直接使用します。
サードパーティのフレームワークである WebViewJavaScriptBridge と WKWebview には、Web 側の協力が必要です。
これは、現在存在するインタラクション方法の単なる比較です。実装は関与しません。具体的な使い方を知りたい場合。 Baidu または Google を使用できます。
関連する推奨事項:
JavaScript と IOS ObjectC の間の相互作用の詳細な説明と実装コード
以上がiOSとJSの連携方法の比較紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。