HarmonyOS 鸿蒙Next webview是否支持拼接query参数?
HarmonyOS 鸿蒙Next webview是否支持拼接query参数?
通过webview打开h5页面,但是得把自定义Query参数,在H5端获取这些参数 webview灵活性更高,有人了解吗?
2 回复
ets
import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry
@Component
struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController();
@State webResult: string = ''
@State text :string = 'Ark WebComponent'
build() {
Column() {
Text(this.webResult).fontSize(20)
Web({ src: $rawfile('xxx.html'), controller: this.controller })
.javaScriptAccess(true)
.onPageEnd(e => {
try {
this.controller.runJavaScript(
`test("${this.text}")`,
(error, result) => {
if (error) {
let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`run JavaScript error, ErrorCode: ${e.code}, Message: ${e.message}`);
return;
}
if (result) {
this.webResult = result
console.info(`The test() return value is: ${result}`)
}
});
if (e) {
console.info('url: ', e.url);
}
} catch (error) {
let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
}
})
}
}
}
html
<!-- index.html -->
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<body>
Hello world!
<div id="divCn"></div>
</body>
<script type="text/javascript">
function test(value) {
document.getElementById('divCn').innerText = value
return "This value is from index.html"
}
</script>
</html>
HarmonyOS 鸿蒙Next webview支持拼接query参数。
在HarmonyOS中,webview组件可以加载带有query参数的URL。这些参数可以在H5页面中通过JavaScript进行解析和使用。例如,你可以在webview的src属性中拼接query参数,如src: 'resource://rawfile/a1.html?key=value'
。在H5页面中,你可以使用JavaScript的window.location.search
来获取这些参数,并进行相应的处理。
此外,HarmonyOS还提供了丰富的API来支持webview与原生应用之间的交互,包括通过runJavaScript
方法向webview注入JavaScript代码以传递参数等。
因此,HarmonyOS 鸿蒙Next webview支持拼接query参数,并且可以通过多种方式在H5页面中使用这些参数。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。