相关问题
#鸿蒙通关秘籍#UIAbility多窗口处理策略
864浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙系统中如何使用隐私模式打开Web组件?
934浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用鸿蒙Web组件加载网络页面
838浏览 • 1回复 待解决
#鸿蒙通关秘籍#鸿蒙系统悬浮窗实现中如何让主窗口进行页面跳转
906浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何实现从Web页面跳转到系统应用?
1077浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何使用requestFocus方法在包含Web组件的页面中转移焦点?
675浏览 • 1回复 待解决
鸿蒙支持应用多窗口或者浮窗模式吗?
241浏览 • 0回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中使用NavPathStack管理导航页面
1332浏览 • 1回复 待解决
HarmonyOS 子窗口如何通过router.push()在主窗口打开页面
847浏览 • 1回复 待解决
#鸿蒙通关秘籍#我的应用需要在新窗口打开页面,ArkWeb支持这个功能吗?
740浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙系统中跳转时如何保证页面单实例模式?
998浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙系统中如何启动DataAbility
927浏览 • 1回复 待解决
#鸿蒙通关秘籍#@Concurrent装饰器在什么场景下使用?
802浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙中如何使用弹性布局实现响应式页面?
896浏览 • 1回复 待解决
#鸿蒙通关秘籍#怎样在鸿蒙系统中页面返回前增加询问框?
725浏览 • 1回复 待解决
鸿蒙系统怎么打开定位开关页面
11436浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何实现Web页面跳转到应用内部页面?
937浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在Web组件开启状态下,禁用特定页面的广告过滤?
485浏览 • 1回复 待解决
#鸿蒙通关秘籍# 在鸿蒙NEXT中如何处理子窗口与主窗口的路由跳转问题?
879浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙系统中如何使用Image组件加载本地图片?
1032浏览 • 1回复 待解决
#鸿蒙通关秘籍#在多实例场景下,如何确保使用正确的UIContext?
879浏览 • 1回复 待解决
HarmonyOS 多窗口模式如何适配和如何屏蔽?
959浏览 • 1回复 待解决
#鸿蒙通关秘籍#在鸿蒙操作系统中如何使用TaskPool进行图像直方图处理?
1123浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在鸿蒙系统中实现页面返回操作?
1375浏览 • 1回复 待解决
#鸿蒙通关秘籍#鸿蒙系统中如何有效进行页面路由跳转?
1058浏览 • 2回复 待解决
可以通过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); }) } } }