z***@163.com
z***@163.com
  • 发布:2017-11-06 08:09
  • 更新:2022-07-02 08:05
  • 阅读:2583

Dcloud种iOS的webview为什么不能长按储存图片

分类:Native.js

比如一个网页只有单张图片,或通过网页打开单张图片资源的页面,在Safari或微信的webview中是可以长按图片,然后上滑出储存图片的按钮的。
但Dcloud制作的webview就没有这个功能,长按只有复制页面文字内容。
这个原因是什么?webview禁止了一些权限和操作吗?还是说这个这种功能需要单独开发?

2017-11-06 08:09 2 条评论 负责人:无 分享
已邀请:
LLgg

LLgg

先create创建一个webview页面
再注入mui.min.js
再注入img_download.js

<!DOCTYPE html>  
<html>  
	<head>  
		<meta charset="utf-8">  
		<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" />  
		<title></title>  
		<script type="text/javascript">  
			function plusReady() {  
				var web = plus.webview.create('http://image.baidu.com/');  
				web.show();  
				web.appendJsFile('/js/mui.min.js');  
				web.appendJsFile('/js/img_download.js');  
			}  
			if(window.plus) {  
				plusReady();  
			} else {  
				document.addEventListener('plusready', plusReady, false);  
			}  
		</script>  
	</head>  
	<body>  
	</body>  
</html>

img_download.js

			mui.init({  
				gestureConfig: {  
					longtap: true  
				}  
			});  
			document.addEventListener('longtap', function(e) {  
				if(e.target.tagName == "IMG") {  
					mui.plusReady(function() {  
						mui.confirm('是否要下载这张图?', '确认下载', '下载', function(d) {  
							if(d.index == 0) {  
								var down = plus.downloader.createDownload(e.target.src, {}, function(e, a) {  
									console.log();  
									plus.gallery.save(e.filename, function(e) {  
										mui.toast('下载成功请打开相册查看')  
									}, function(e) {  
										mui.toast('下载失败请重试')  
									})  
								})  
								down.start()  
							}  
						})  
					})  
  
				}  
			})
  • 大前端小王子

    大佬,在吗?我链接访问不了,用你的链接才可以,能帮忙看看吗


    2022-07-02 08:05

  • 大前端小王子

    https://live.photoplus.cn/live/pc/20964674/#/


    2022-07-02 08:07

w***@qq.com

w***@qq.com

同问

2***@qq.com

2***@qq.com

同问。

大前端小王子

大前端小王子 - 软件开发工程师

大佬,在吗?我链接访问不了,用你的链接才可以,能帮忙看看吗

该问题目前已经被锁定, 无法添加新回复