微信小程序 webview页面分享弹窗

这篇具有很好参考价值的文章主要介绍了微信小程序 webview页面分享弹窗。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

微信小程序webview中使用cover-view展示分享弹窗

公司业务需要在webview中添加分享弹窗,可以发送给朋友及生成海报分享,因为好几个详情都需要这个功能,因此抽离了share-sheet的组件,ui效果如下图:
微信小程序 webview页面分享弹窗
点击分享,显示以下弹窗
微信小程序 webview页面分享弹窗
share-sheet.wxml如下:

<cover-view class="share-sheet-container" hidden="{{!show}}" catchtouchmove="poptouchmove">
        <cover-view class="shade"></cover-view>
        <cover-view class="content">
            <button class="row share-friend-btn border-bottom" open-type="share" hover-class="none">发送给朋友</button>
            <cover-view class="row create-poster-btn" catchtap="createPosterAction">生成海报</cover-view>
            <cover-view class="row quick-btn" catchtap="quickAction">取消</cover-view>
        </cover-view>
         <cover-view class="palceholder"></cover-view>
    </cover-view>

share-sheet.js如下:

Component({
options: {
    addGlobalClass: true,
},
/**
 * 组件的属性列表
 */
properties: {
    //控制弹窗显示与否
    show: {
        type: Boolean,
        value: false,
    },
    //分享数据
    shareData: {
        type: Object,
        value: null,
    },
},
data: {
    showPreviewPoster: false, //是否显示生成的海报弹窗
    poster: '', //生成的海报路径 用来判断是否可以点击生成海报
    clickCreatePosterBtn: false, // 是否点击了生成海报按钮 用来判断在没有海报时点击生成海报 带海报完善后直接显示海报预览弹窗
},

/**
 * 组件的方法列表
 */
methods: {
    //阻止滑动事件 防止page滑动
    poptouchmove: function () {
        return false;
    },
    //点击去掉按钮
    quickAction() {
        this.data.show = false;
        this.setData({
            show: false,
        });
    },
    //点击生成海报按钮
    createPosterAction() {
        this.setData({
            show: false,
        });
        if (!this.data.poster) {
            this.setData({
                clickCreatePosterBtn: true,
            });
            return false;
        }
        this.setData({
            showPreviewPoster: true,
            clickCreatePosterBtn: false,
        });
    },
    setPosterStatus(e) {
        this.setData({
            poster: e.detail,
        });
    },
},
});

share-sheet.less如下:

.share-sheet-container {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1001;
    .shade {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.3);
        z-index: 1;
    }
    .palceholder {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        background: #fff;
        height: 40rpx;
        box-sizing: content-box;
        padding-bottom: env(safe-area-inset-bottom);
        z-index: 2;
    }
    .content {
        position: absolute;
        padding-bottom: env(safe-area-inset-bottom);
        left: 0;
        right: 0;
        bottom: 0;
        background: #f2f2f2;
        border-radius: 40rpx;
        z-index: 3;
        overflow: hidden;
    }
    .row {
        display: block;
        height: 112rpx;
        line-height: 111rpx;
        font-size: 34rpx;
        color: #000;
        text-align: center;
        background: #fff;
        &.share-friend-btn {
            border: none;
            margin-bottom: 1px;
        }
    }
    .quick-btn {
        margin-top: 16rpx;
    }
}

注意的点:

一下均为真机测试,实际情况可能会随着时间改变,请注意自测文章来源地址https://www.toymoban.com/news/detail-501100.html

  1. webview上添加结构只能使用cover-view,想要显示出来需要用fixed/absolute定位,且不能使用hidden,可以直接显示或者使用wx:if
  2. cover-view支持flex布局
  3. cover-image不支持svg格式图片
  4. cover-view 不支持background-image,不支持iconfont图标
  5. cover-view中button须有文本,否则不显示
  6. cover-view不支持设置单边的border,ui弹窗只有上面有圆角我的处理方式是在下面写个空的cover-view定位填充
  7. cover-view支持overflow-y, 但是不支持over-flow:auto, 滚动本身不会引起穿透

到了这里,关于微信小程序 webview页面分享弹窗的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何在【微信小程序 】中的 webview 查看H5页面的console.log和调试H5页面?

    大家好我是 黑臂麒麟 ; 下面是开发微信小程序嵌入H5调试技巧: 问题: 在微信小程序页面中,web-view内嵌了另一个页面url,从小程序跳转到该H5页面的时候,无法看到该H5页面的控制台信息。那就没有办法了么?不,凭着锲而不舍的精神,在网络的海洋遨游许久。我查找到解

    2024年02月17日
    浏览(31)
  • 微信小程序使用webview内嵌h5页面 wx.miniProgram.getEnv失效问题

    背景 最近接到一个h5需求,和普通的h5不一样,这个h5页面是嵌入到小程序中使用的,需求简单来说就是展示一个跳转按钮,判断如果是小程序环境下就进行跳转到其他小程序页面。 实现思路 核心逻辑其实就是判断小程序环境这一块,我们可以直接使用wxsdk来进行判断小程序

    2024年02月09日
    浏览(44)
  • 微信小程序点击按钮在当前页面弹出一个弹窗输入数据

    微信小程序中可以使用 wx.showModal 或 wx.prompt 来在当前页面弹出一个弹窗,让用户输入数据。 使用 wx.showModal 时可以设置模态框的标题、内容和按钮文字,当用户点击确定或取消按钮时会返回一个对象,其中 confirm 属性表示用户是否点击了确定按钮,cancel 属性表示用户是否点

    2024年02月12日
    浏览(34)
  • 微信小程序webview内嵌H5跳转页面后没有返回按钮完美解决方案

    简单的讲就是我们可以在小程序内放置一个web-view组件来链接我们的HTML页面了。 但是点击跳转页面的时候。页面左上角没有!!返回按钮!!导致回不去了,这不是搞笑的吗。 看了下其他的小程序,发现如果是两个小程序页面跳转的话,第二个页面的左上角是会有返回按钮

    2024年02月08日
    浏览(45)
  • 【微信小程序】全局分享和页面分享

    全局分享 单独分享 例如:这个页面:pages/index/messageDetail/messageDetail

    2024年02月16日
    浏览(41)
  • 微信小程序分享页面代码

    在微信小程序中实现分享功能需要以下几个步骤: 1. 在`app.json`文件中配置分享参数,例如标题、路径等。示例如下: ```json {   \\\"pages\\\": [     \\\"pages/index/index\\\"   ],   \\\"window\\\": {     \\\"navigationBarTitleText\\\": \\\"小程序标题\\\"   },   \\\"tabBar\\\": {},   \\\"usingComponents\\\": {},   \\\"enableShareAppMessage\\\": true,

    2024年02月12日
    浏览(26)
  • 微信小程序webview跳转页面后没有返回按钮以及变向解决H5安卓无法监听popstate问题

    做了一个app跳转到小程序关注公众号的需求,小程序里面用webview嵌套公众号的H5。 做完我发现左上角它没!有!返!回!键! 然后!我查了好多资料用过双页面跳转让左上角有返回键,但是吧,它确实是有返回键了但是没办法返回到小程序 ,只是在H5内不停的返回在跳转回

    2024年04月12日
    浏览(37)
  • uniapp微信小程序全局分享和自定义页面分享

    uniapp 实现微信小程序的全局 转发给好友/分享到朋友圈 的功能。主要使用 Vue.js 的 全局混入 概念。 1.在项目根目录创建mixins文件夹,然后创建全局分享的 js 文件。mixins/share.js  2.在项目的 main.js 文件中引入该 share.js 文件并使用 Vue.mixin() 方法将之全局混入: 3.自定义页

    2024年02月13日
    浏览(37)
  • 微信小程序统一分享,全局接管页面分享消息的一些技巧

    前言 最近都在折腾自己的个人内容聚合小程序。除了作为原创专栏,视频教程的聚合。我有什么新的想法,产品创意,最终落地的东西都会放到这个小程序里。 而分享功能非常的重要,当某一个功能或文章打动用户的时候,能把这个小程序分享出去,就能带来裂变传播的效

    2024年02月15日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包