要求叙述
接到的初始要求是这样的,有1个H5网页页面,网页页面中有个“点一下免费下载”的按钮,点一下以后,进行免费下载特殊的apk。
大约是下面这样的👇:
要求剖析
接到要求的情况下我偷乐了1下,这个H5网页页面最大的优势是不在手机微信中应用(手机微信好坑,各种各样限定,基础上从手机微信访问器里边完成立即免费下载apk是不太将会的),假如是在平时的访问器的话,就简易多了。
作用完成
因而我想起了第1种,点一下免费下载按钮的情况下更改location.href。
方式1:
// 我随意找了个apk的免费下载连接举个事例 window.location.href = 'http://imtt.dd.qq.com/16891/26747DD8B125A8479AD0C9D22CA47BC9.apk?fsname=com.snda.wifilocating_4.2.91_3211.apk&csr=1bbd';
拿在访问器里边试了下,好几个安卓系统机型都可以以走通,随后我乐滋滋得交货了每日任务,整理整理物品回家了。
随后…………
截图中所说的空白页是由于我更改href为apk的免费下载连接,网页页面开启的情况下会滞留在1个空白页,随后1般手机上的情况栏上会出現免费下载apk的进度条。
既然不想出現空白网页页面的话,那不立即开启1个网页页面而改为在当今页开启便可以了。
这时候候想起iframe,依靠iframe能够在原网页页面开启1个网页页面。
方式2:
重要编码:
var src = 'http://imtt.dd.qq.com/16891/26747DD8B125A8479AD0C9D22CA47BC9.apk?fsname=com.snda.wifilocating_4.2.91_3211.apk&csr=1bbd'; var iframe = document.createElement('iframe'); iframe.style.display = 'none'; iframe.src = "javascript: '<script>location.href=\"" + src + "\"<\/script>'"; document.getElementsByTagName('body')[0].appendChild(iframe);
应用iframe的话,既能够完成免费下载,又能够不再次开启网页页面,而且,对原网页页面的合理布局不容易造成任何危害,最终我也是采用这类计划方案的。
方式3
第3种方式是不经意学到的,既然应用iframe能够,那应用form1定也是能够的,form的action还可以发恳求。
因而改变了下第2种方式:
var src = 'http://imtt.dd.qq.com/16891/26747DD8B125A8479AD0C9D22CA47BC9.apk?fsname=com.snda.wifilocating_4.2.91_3211.apk&csr=1bbd'; var form = document.createElement('form'); form.action = src; document.getElementsByTagName('body')[0].appendChild(form); form.submit();
以上的编码还可以完成免费下载apk的要求。
总结
实际上第2和第3种方式是拓展充分发挥了iframe和form的用法,独立看来,大家了解iframe能够在父网页页面里嵌套循环子网页页面,了解form的action能够发恳求或自动跳转网页页面,这是很普遍的作用,可是不知道道它们会被用在免费下载文档这个要求上,且造成的实际效果十分好。可见专业知识還是要融汇贯通,举1反3的。
写这篇的情况下我去查了下iframe,原先ajax等技术性未出現的情况下,有段時间业内常见的长轮询的方式居然便是依靠的iframe,有兴趣爱好的还可以科学研究1下。
以上便是本文的所有內容,期待对大伙儿的学习培训有一定的协助,也期待大伙儿多多适用脚本制作之家。