app webview传递参数
时间: 2024-09-30 07:01:19 浏览: 27
App WebView 是 Android 和 iOS 中的一个组件,它允许应用程序在其内部嵌入网页视图。如果你想要从 App 向 WebView 传递参数,通常有两种常见的做法:
1. **通过URL查询字符串**:
当打开网页时,可以在 URL 的末尾添加 `?key=value` 格式的键值对作为查询参数。例如:
```java
String url = "https://example.com/?param1=value1¶m2=value2";
webView.loadUrl(url);
```
在网页端,你可以通过 JavaScript 获取这些参数。
2. **通过JavaScript Bridge** 或者 **Message passing**:
如果你想在页面加载完成后动态传递数据,可以设置一个 JavaScript 脚本来接收从 App 发送的消息,或者创建一个 Web API 接口供 App 调用。对于 Android,可以使用 Android WebviewClient 或者自定义WebViewClient,对于iOS,可以使用WKWebView的WKScriptMessageHandler。
```swift
// iOS (Swift) 示例
let message = WKScriptMessage(name: "getData", body: parameters)
webView.configuration.userContentController.add(self, name: #selector(handleMessage(_:)))
webView.evaluateJavaScript("window.webkit.messageHandlers.getData.postMessage(\(parameters))") { result in
// handle response
}
func handleMessage(_ message: WKScriptMessage) {
guard let data = message.body as? [String: Any] else { return }
// process data here
}
```
阅读全文