赞
踩
Web组件 / WebViewController / UserAgent / onPageBegin / onPageEnd
build方法中设置了Web组件的controller,在onPageShow方法中通过WebviewController.setCustomUserAgent设置UseAgent时报错,Error message:Init error. The WebviewController must be associated with a Web component。
请问:
问题一:在什么时机设置UserAgent才算是绑定了Web组件?
问题二:有没有对应的示例?
问题一:
页面生命周期onPageShow回调函数中无法确认WebveiwController与Web组件绑定时序关系。建议首次在Web组件onPageEnd回调函数中(此时WebviewController已绑定)调用WebveiwController.runJavaScript;当应用切换前后台时,在页面生命周期onPageShow回调函数中调用webveiwController.runJavaScript。
在Web组件的onPageBegin/onPageEnd方法中调用WebviewController.setCustomUserAgent可以设置自定义UserAgent。
问题二:绑定示例如下。
- import WebView from '@ohos.web.webview';
-
- @Component
- export default struct UserAgent {
- @State user: string = '';
- private controller: WebView.WebviewController = new WebView.WebviewController();
-
- build() {
- Column() {
- Web({
- src: $rawfile('userAgent.html'),
- controller: this.controller
- })
- .width('100%')
- .height('50%')
- .userAgent(this.user)
- .onPageBegin(() => {
- this.user = this.controller.getUserAgent() + '123456789'
- })
- }
- .height('100%')
- .width('100%')
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。