Comments (10)
👍 这份文档也提到,可以在这个方法处理下载,感谢啦~~
http://doc.mbalib.com/view/241f5e4aee6b5172fa947819d8c95a67.html
from webbrowser.
下载的功能确实没有实现,可以考虑实现一下。
from webbrowser.
哈哈期待加入下载功能,同时还想请教一下实现的思路,想自己动手试试~。。~
from webbrowser.
思路就是,比如浏览器需要支持下载.zip
文件,那么需要在 webView:shouldStartLoadWithRequest:navigationType:
中判断navigationType
类型,获取zip
的url
,拿到后就可以进行下载了,所以需要实现一个文件管理的界面,界面可以进行文件的管理,比如断点续传,删除等操作。
from webbrowser.
在webView:shouldStartLoadWithRequest:navigationType:中截取请求的链接,那我怎么知道那些链接是可下载的呢请问?
from webbrowser.
这个问题就需要看需求了,首先,如果只需要初步实现下载功能的话,可以简单的通过后缀名,比如url后缀为.zip
,那么我们可以判断他应该是一个zip文件,直接通过URLSession
下载下来即可。
不过并不是每一个文件的地址都包含文件扩展名,如果需要覆盖所有的情况,有两种方法,一种是单独开一个入口,让用户输入URL,然后从响应中获取文件的名字,类型等等,HTTP
的 header
中有Content-Disposition
、Content-Type
等可以获取相关信息。另一种是创建NSURLProtocol
来管理所有的请求,拿到响应后的操作和第一种一样。
from webbrowser.
你的意思是不是:一个链接在未加载之前是无法得知其是不是“可下载”的。要先加载它,然后拦截它的响应,从响应的header中获取到文件的类型(比如.zip),从而判断它是不是“可下载”。我理解的对吗
from webbrowser.
是的。
from webbrowser.
好的,谢谢谢啦。
from webbrowser.
忘了,还有一个方法忘说,通过私有方法来判断,- (void)webView:(id)arg1 decidePolicyForMIMEType:(id)arg2 request:(id)arg3 frame:(id)arg4 decisionListener:(id)arg5;
,该方法会检测到不同的Mimetype,在这个方法可以处理不同的MimeType
.
from webbrowser.
Related Issues (20)
- 想请教作者一个问题,类似于UC浏览器的夜间模式是怎么实现的? HOT 5
- 一个网址本地缓存的问题。 HOT 7
- 你好 有问题想请教 HOT 1
- 关于浏览器前进后退网页刷新的问题 HOT 5
- 关于访问网页带有iframe内嵌网页的网址时修改CSS样式 HOT 4
- 项目无法运行 HOT 6
- 某些界面视频播放不了 HOT 11
- 编译不了 HOT 2
- 工程编译不通过 HOT 1
- QQ一键登录失败 HOT 3
- 作者你好,请教一个技术问题 HOT 8
- 作者你好,多窗口的那个close按钮,很难点中 HOT 1
- 作者你好,随便找一个可以播放视频的网站,打开以后,返回桌面,会出现崩溃 HOT 3
- 作者,你好,你找一个H5游戏,进入后台,会报gpus_ReturnNotPermittedKillClient。原因是UIWebView进入后台,不允许使用OpenGL。请看下面的链接 HOT 4
- 做得很棒喔 HOT 3
- 你这个浏览器的内核不是Webview啊,还有你这个历史记录里面的数据哪里来的
- 浏览器有没有无痕模式的功能? HOT 1
- 怎么push进来就加载某个网页 HOT 1
- 现在苹果商店不支持UIWEBVIEW了,有木有解决办法?
- UIWebView
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from webbrowser.