浏览器通常提供了前进和后退按钮来实现页面的跳转操作,用户可以通过点击这些按钮来在浏览记录中切换页面。另外,还可以通过浏览历史列表来查看和访问之前浏览过的页面,也可以通过在地址栏中直接输入网址来实现页面跳转。
一、页面跳转和浏览记录
1.历史记录导航
在浏览器中,可以使用以下方法来导航到Web的历史记录:
- 使用浏览器的前进和后退按钮:浏览器通常都有前进和后退按钮,可以点击前进按钮导航到上一个页面,点击后退按钮导航到上一个页面。
- 使用浏览器的历史记录菜单:浏览器通常都有一个历史记录菜单,可以点击菜单中的链接来导航到历史记录中的特定页面。
- 使用快捷键:在大多数浏览器中,可以使用快捷键来导航到Web的历史记录。例如,在Windows上,可以使用Alt + 向左箭头键来后退,使用Alt + 向右箭头键来前进。
- 使用浏览器的地址栏:在浏览器的地址栏中输入历史记录中的特定网址,并按下回车键,即可导航到该页面。
- 使用浏览器的新标签页:在浏览器的新标签页中,通常会显示最近访问的网页,可以点击其中的链接来导航到历史记录中的特定页面。
但在HarmonyOS的Web组件实现历史记录导航的方法如下:
// xxx.ets import web_webview from '@ohos.web.webview';
@Entry @Component struct WebComponent { webviewController: web_webview.WebviewController = new web_webview.WebviewController(); build() { Column() { Button('loadData') .onClick(() => { if (this.webviewController.accessBackward()) { this.webviewController.backward(); return true; } }) Web({ src: 'www.example.com/cn/', controller: this.webviewController}) } } }
2.页面跳转
Web页面跳转是指在一个网页上点击链接后,自动跳转到另外一个网页的过程。这个过程主要是通过超链接实现的。
1、index.ets
// index.ets import web_webview from '@ohos.web.webview'; import router from '@ohos.router'; @Entry @Component struct WebComponent { webviewController: web_webview.WebviewController = new web_webview.WebviewController();
build() { Column() { Web({ src: $rawfile('local.html'), controller: this.webviewController }) .onUrlLoadIntercept((event) => { let url: string = event.data as string; if (url.indexOf('native://') === 0) { // 跳转其他界面 router.pushUrl({ url:url.substring(9) }) return true; } return false; }) } } }
2、前端页面代码
3、ProfilePage.ets
@Entry @Component struct ProfilePage { @State message: string = 'Hello World';
build() { Column() { Text(this.message) .fontSize(20) } } }
3.跨应用跳转
跨应用跳转是指从一个应用程序跳转到另一个应用程序。这种跳转通常通过链接或特定的 API 调用实现。例如,你可以在一个应用程序中点击一个链接,然后跳转到另一个应用程序中的指定页面。跨应用跳转可以提供更好的用户体验和无缝的应用集成。
// xxx.ets import web_webview from '@ohos.web.webview'; import call from '@ohos.telephony.call';
@Entry @Component struct WebComponent { webviewController: web_webview.WebviewController = new web_webview.WebviewController();
build() { Column() { Web({ src: $rawfile('local.html'), controller: this.webviewController}) .onUrlLoadIntercept((event) => { let url: string = event.data as string;
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上鸿蒙开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新