ホームページ > ウェブフロントエンド > jsチュートリアル > Android の WebView から JavaScript 関数を確実に呼び出す方法

Android の WebView から JavaScript 関数を確実に呼び出す方法

Mary-Kate Olsen
リリース: 2024-11-25 18:56:16
オリジナル
316 人が閲覧しました

How to Reliably Call JavaScript Functions from Android's WebView?

Android 上の WebView での JavaScript 関数の呼び出し

WebView を使用して Web コンテンツを Android アプリケーションに組み込む場合、多くの場合、基盤となるアプリケーションと対話する必要があります。 Web ページ内の JavaScript。これは、Android コードから JavaScript 関数を呼び出すことで実現できます。

次のシナリオを考えてみましょう: Android アプリから JavaScript 関数を呼び出し、トースト経由でメッセージを表示します。呼び出される JavaScript 関数は次のように定義されます:

function testEcho(message) {
     window.JSInterface.doEchoTest(message);
}
ログイン後にコピー

Android アプリでは、JavaScript を有効にして、公開された Java メソッドを含むクラスを登録できます:

myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.addJavascriptInterface(myJSInterface, "JSInterface");
ログイン後にコピー

よくある落とし穴

説明したアプローチに従っているにもかかわらず、JavaScript 関数が発動されていない。よくある見落としの 1 つは、JavaScript 関数に渡されるパラメーターに二重引用符が含まれていないことです。以下に示すように、パラメーターが引用符で囲まれていることを確認します。

myWebView.loadUrl("javascript:testEcho('Hello World!')");
ログイン後にコピー

外部 JavaScript ファイル

HTML 内で参照および使用されている外部 JavaScript ファイルが存在する場合、 JavaScript 関数の実行に影響を与える可能性があります。外部スクリプトはグローバル スコープを変更したり、独自のイベント ハンドラーを導入したりする可能性があり、WebView による JavaScript コマンドの処理に干渉する可能性があります。次の点を考慮してください:

  • 外部スクリプトが testEcho 関数を再定義したり、WebView の JavaScript 環境の予期される動作と競合したりしないことを確認します。
  • コンソールまたはデバッグ ツールを使用して、 WebView 内での JavaScript の実行を確認し、潜在的な競合を特定します。

以上がAndroid の WebView から JavaScript 関数を確実に呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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