HarmonyOS 鸿蒙Next webview UA设置问题:第一次设置了UA后,router.back返回上一页,再进入时ua丢失
HarmonyOS 鸿蒙Next webview UA设置问题:第一次设置了UA后,router.back返回上一页,再进入时ua丢失
我在aboutToAppear里设置了Ua。
web_webview.once('webInited', () => {
try {
this.ua = this.webviewController.getUserAgent() + 'unisolutionapp' +
'Android'
//UA这里不能加'/'分割,分割后前端无法识别
Logger.debug(Constants.TAG, this.ua)
this.webviewController.setCustomUserAgent(this.ua)
} catch (error) {
Logger.warn(Constants.TAG, `WebviewPage的ua错误,ErrorCode: ${error.code},Message: ${error.message}`)
}
})
在默认的UA后面拼上了’unisolutionapp’ + ‘Android’ ,此时UA有效,然后我router.back返回,然后再进来,UA就变成了默认的,‘unisolutionapp’ + ‘Android’ 也没有了。 web_webview.once也不触发
更多关于HarmonyOS 鸿蒙Next webview UA设置问题:第一次设置了UA后,router.back返回上一页,再进入时ua丢失的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
设置UA 都是在这个生命周期中oncontrollerattached 类似这样
import web_webview from '[@ohos](/user/ohos).web.webview'
import business_error from '[@ohos](/user/ohos).base'
[@Entry](/user/Entry)
[@Component](/user/Component)
struct WebComponent {
controller: web_webview.WebviewController = new web_webview.WebviewController();
[@State](/user/State) customUserAgent: string = 'test'
build() {
Column() {
Web({ src: 'www.example.com', controller: this.controller })
.onControllerAttached(() => {
let userAgent = this.controller.getUserAgent() + this.customUserAgent;
//设置自定义UA
this.controller.setCustomUserAgent(userAgent);
//获取自定义UA
console.log("userAgent: " + this.controller.getCustomUserAgent());
})
}
}
}
更多关于HarmonyOS 鸿蒙Next webview UA设置问题:第一次设置了UA后,router.back返回上一页,再进入时ua丢失的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html