- <template>
- <view>
- <web-view :webview-styles="webviewStyles" :src="webUrl">web-view>
- view>
- template>
uniapp的web-view中图片无法长按保存,IOS下是正常的,但是Android下长按无反应
下载mui.min.js,放到项目中的static下
https://github.com/dcloudio/mui/
https://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
- export default {
- data() {
- return {
- webviewStyles: {}
- }
- },
- onReady() {
- // #ifdef APP-PLUS
- var currentWebview = this.$scope.$getAppWebview()
- setTimeout(function() {
- let wv = currentWebview.children()[0]
- if (uni.getSystemInfoSync().osName == 'android') {
- wv.appendJsFile('_www/static/mui.min.js')
- setTimeout(function() {
- wv.appendJsFile('_www/static/script.js')
- }, 1000)
- }
- }, 1000);
- // #endif
- },
- }
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//预加载窗口数量限制(一旦超出,先进先出)默认不限制
- })