惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
月光博客
月光博客
MyScale Blog
MyScale Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
P
Proofpoint News Feed
人人都是产品经理
人人都是产品经理
Last Week in AI
Last Week in AI
罗磊的独立博客
G
Google Developers Blog
Y
Y Combinator Blog
博客园 - 【当耐特】
WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
J
Java Code Geeks
酷 壳 – CoolShell
酷 壳 – CoolShell
V
Visual Studio Blog
美团技术团队
宝玉的分享
宝玉的分享
Jina AI
Jina AI
小众软件
小众软件
T
Tailwind CSS Blog
A
About on SuperTechFans

西枫里博客

如何养好一只兔子 - 西枫里 浙北安吉北部乡镇春节民俗 - 西枫里 湘西张家界之旅(游记篇) - 西枫里 热闹的电影暑期档 - 西枫里 湘西张家界之旅(攻略篇) - 西枫里 阳记 - 西枫里 一地鸡毛,高歌欢进(三) - 西枫里 华为Nova7SE换屏维修记录 - 西枫里 魔都魔幻生活——我的抗疫经历 - 西枫里 树莓派升级手记 - 西枫里 尝试挽救一下我的SEO——页面常规优化 - 西枫里 2022年在上海外地牌照车辆异地年检流程 - 西枫里 尝试挽救一下我的SEO——域名和主机的影响 - 西枫里 尝试挽救一下我的SEO——缘起 - 西枫里 米6钉子户,更换电池再战2年。 - 西枫里 二换科鲁兹前照灯灯泡 - 西枫里 一地鸡毛,高歌欢进(二) - 西枫里 联想拯救者14ISK更换电池 - 西枫里 冷车打火喘抖怎么办?倒车灯倒车雷达影像没反应怎么办? - 西枫里 树莓派刷64位系统放内网做服务器使用 - 西枫里 米6刷MIUI12的简易教程(进击的小米6) - 西枫里 一地鸡毛,高歌欢进(一) - 西枫里 人近不惑三十六,本命牛年转乾坤。 - 西枫里 魔都新冠疫苗接种记 - 西枫里 thinkpad扬声器没声音 - 西枫里 个人健康管理,刻不容缓 - 西枫里 Hello Java - 西枫里 到了退休年龄社保未缴满十五年怎么办? - 西枫里 科鲁兹/英朗后备箱开关更换 - 西枫里 iphone6换屏教程,附iphone已停用解锁 - 西枫里
钉钉微应用控制页面返回 - 西枫里
西枫里 · 2019-07-15 · via 西枫里博客

所谓某些场景,算了,不描述了,总之总有那么几种需求让你的业务只能前进不能后退,这个页面完成进入下一个页面,想退回来,没门。微应用就是个HTML5的页面,被载入到了钉钉内置浏览器而已。所以控制页面返回无需后端判断,前端页面直接控制就可以。知道怎么做就容易了,去翻钉钉文档的前端API,本想着迎刃而解,不料,IOS是迎刃而解,安卓却了成程咬金杀将了出来。

钉钉文档前端API部分

直接看图吧,钉钉的文档中很明显的表示安卓端如果要阻止后退的话,需要调用事件回调函数。IOS可以直接阻止。这特么就尴尬了,前端可以做的事情非要后端插一脚。

未标题-1.jpg

集成安卓端的阻止控制

博主前端能力是战斗力只有5的渣渣,尝试了下日常所用的阻止发现在我的米6上不生效,部分其它安卓机可以,这就不得度娘一番,最终找到了这串代码,顺道和ios的集成到一起算了,看代码。

未标题-2.jpg

学习下安卓端的这段代码

1、history.pushState()这个方法是html5的新特性,一并出现的还有一个history.replaceState()方法。使用 history.pushState()后,会改变 XMLHttpRequest 请求时 HTTP header头中 referrer 的值。referrer 记录了当前页面文件(this)的 URL。

2、document.URL是通过js获取当前的页面地址。

3、addEventListener()方法是向指定的事件添加一个句柄。

4、popstate事件,当历史记录被更改的时候将会触发pushState事件。如果历史记录是由history.pushState()创建的或者对history.replaceState()的调用产生影响,popstate事件的state属性就包含了上述对象的副本。