相关问题
#鸿蒙通关秘籍#UIAbility多窗口处理策略
91浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙系统中如何使用隐私模式打开Web组件?
45浏览 • 1回复 待解决
#鸿蒙通关秘籍#鸿蒙系统悬浮窗实现中如何让主窗口进行页面跳转
86浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用鸿蒙Web组件加载网络页面
50浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何实现从Web页面跳转到系统应用?
71浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用requestFocus方法在包含Web组件的页面中转移焦点?
102浏览 • 1回复 待解决
#鸿蒙通关秘籍#我的应用需要在新窗口打开页面,ArkWeb支持这个功能吗?
60浏览 • 1回复 待解决
鸿蒙系统怎么打开定位开关页面
10369浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中使用NavPathStack管理导航页面
97浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙系统中跳转时如何保证页面单实例模式?
95浏览 • 1回复 待解决
#鸿蒙通关秘籍#@Concurrent装饰器在什么场景下使用?
93浏览 • 1回复 待解决
在Web组件的H5页面中,如何使用a标签实现打开各种页面
2029浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙中如何使用弹性布局实现响应式页面?
85浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何实现Web页面跳转到应用内部页面?
63浏览 • 1回复 待解决
#鸿蒙通关秘籍#怎样在鸿蒙系统中页面返回前增加询问框?
93浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在Web组件开启状态下,禁用特定页面的广告过滤?
22浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙系统中如何启动DataAbility
69浏览 • 1回复 待解决
#鸿蒙通关秘籍# 在鸿蒙NEXT中如何处理子窗口与主窗口的路由跳转问题?
135浏览 • 1回复 待解决
#鸿蒙通关秘籍#在多实例场景下,如何确保使用正确的UIContext?
89浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙操作系统中如何使用TaskPool进行图像直方图处理?
74浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中加速Web页面访问?
38浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用窗口沉浸式能力提升用户体验?
25浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙系统中如何使用Image组件加载本地图片?
93浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用Web组件监听页面加载状态以控制动画显示?
155浏览 • 1回复 待解决
可以通过multiWindowAccess()接口启用多窗口功能,并处理onWindowNew()事件: bash import { webview } from '@kit.ArkWeb';
@CustomDialog struct NewWebViewComp { controller?: CustomDialogController; webviewController1: webview.WebviewController = new webview.WebviewController();
build() { Column() { Web({ src: "", controller: this.webviewController1 }) .javaScriptAccess(true) .multiWindowAccess(false) .onWindowExit(() => { console.info("NewWebViewComp onWindowExit"); if (this.controller) { this.controller.close(); } }) } } }
@Entry @Component struct WebComponent { controller: webview.WebviewController = new webview.WebviewController(); dialogController: CustomDialogController | null = null;
build() { Column() { Web({ src: $rawfile("window.html"), controller: this.controller }) .javaScriptAccess(true) .multiWindowAccess(true) .allowWindowOpenMethod(true) .onWindowNew((event) => { if (this.dialogController) { this.dialogController.close() } let popController: webview.WebviewController = new webview.WebviewController(); this.dialogController = new CustomDialogController({ builder: NewWebViewComp({ webviewController1: popController }) }) this.dialogController.open(); event.handler.setWebController(popController); }) } } }