首頁 >web前端 >js教程 >如何從 Android 的 WebView 可靠地呼叫 JavaScript 函數?

如何從 Android 的 WebView 可靠地呼叫 JavaScript 函數?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-25 18:56:16316瀏覽

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

在Android 上的WebView 中呼叫JavaScript 函數

使用WebView 將Web 內容合併到Android 應用程式中時,通常需要與底層進行互動網頁中的JavaScript。這可以透過從 Android 程式碼呼叫 JavaScript 函數來實現。

考慮以下場景:從 Android 應用程式呼叫 JavaScript 函數,該函數將透過 Toast 顯示訊息。要呼叫的JavaScript 函數定義為:

function testEcho(message) {
     window.JSInterface.doEchoTest(message);
}

在Android 應用程式中,您可以啟用JavaScript 並註冊包含公開的Java 方法的類別:

myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.addJavascriptInterface(myJSInterface, "JSInterface");

常見陷阱

儘管遵循了概述的方法,您可能會遇到JavaScript 函數未執行的問題呼叫。一個常見的疏忽是傳遞給 JavaScript 函數的參數中缺少雙引號。確保參數用引號引起來,如下所示:

myWebView.loadUrl("javascript:testEcho('Hello World!')");

外部JavaScript 檔案

HTML 中引用和使用的外部JavaScript 檔案的存在可以可能會影響JavaScript 函數的執行。外部腳本可能會改變全域作用域或引入它們自己的事件處理程序,這可能會幹擾 WebView 對 JavaScript 命令的處理。請考慮以下事項:

  • 確保外部腳本不會重新定義 testEcho 函數或與 WebView 的 JavaScript 環境的預期行為發生衝突。
  • 使用控制台或偵錯工具來驗證 WebView 中 JavaScript 的執行情況並識別任何潛在的衝突。

以上是如何從 Android 的 WebView 可靠地呼叫 JavaScript 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn