uni-app实现web-view图片长按下载

uniapp的web-view中图片无法长按保存,IOS下是正常的,但是Android下长按无反应

解决方案:

下载mui.min.js,放到项目中的static下

https://github.com/dcloudio/mui/icon-default.png?t=N7T8https://github.com/dcloudio/mui/在static目录下新建script.js

// static/script.js

mui.init({
    gestureConfig: {
        longtap: true, //默认为false
    }
});
document.addEventListener('longtap', function(e) {
	mui.toast('LongPress')
    if (e.target.tagName == "IMG") {
		console.log(e.target.src);
        mui.plusReady(function() {
            mui.confirm('是否下载此图片', '确认下载', '下载', function(d) {
                if(d.index==0){
                var down = plus.downloader.createDownload(e.target.src, {}, function(e, a) {
                    console.log(e);
                    plus.gallery.save(e.filename,function (e) {
                    mui.toast('下载成功,请查看相册')
                    console.log("下载成功,请查看相册");
                    },function (e) {
                        console.log("下载失败");
                    })
                })
                down.start()
                }
            })
        })
    }
})

向页面的web-view注入js

mui框架将很多功能配置都集中在mui.init方法中,要使用某项功能,只需要在mui.init方法中完成对应参数配置即可,目前支持在mui.init方法中配置的功能包括:创建子页面、关闭页面、手势事件配置、预加载、下拉刷新、上拉加载、设置系统状态栏背景颜色。 

配置的参数:

mui.init({  
    //子页面  
    subpages: [{  
        //...  
    }],  
    //预加载  
    preloadPages:[  
        //...  
    ],  
    //下拉刷新、上拉加载  
    pullRefresh : {  
       //...  
    },  
    //手势配置  
     gestureConfig:{  
       //...  
    },  
    //侧滑关闭  
    swipeBack:true, //Boolean(默认false)启用右滑关闭功能    

    //监听Android手机的back、menu按键  
    keyEventBind: {  
        backbutton: false,  //Boolean(默认truee)关闭back按键监听  
        menubutton: false   //Boolean(默认true)关闭menu按键监听  
    },  
    //处理窗口关闭前的业务  
    beforeback: function() {  
        //... //窗口关闭前处理其他业务详情点击 ↑ "关闭页面"链接查看  
    },  
    //设置状态栏颜色  
    statusBarBackground: '#9defbcg', //设置状态栏颜色,仅iOS可用  
    preloadLimit:5//预加载窗口数量限制(一旦超出,先进先出)默认不限制  
})

你可能感兴趣的:(uni-app,uni-app)