在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 命令的處理。請考慮以下事項:
以上是如何從 Android 的 WebView 可靠地呼叫 JavaScript 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!