移动端html页面分享

开发APP应用比开发移动端网页挑战小,因为APP应用只需要适配不同手机即可,而移动端网页不仅需要适配不同手机,还要适配同一部手机的不同浏览器。

移动端页面分享是一个常用的功能,需要宿主环境,可以是某APP应用,也可以是微信,还可以是浏览器。

如果html页面内嵌APP应用或者微信,想实现分享功能,需要在按钮元素上加代码,要么调用APP方法或协议,要么调用微信API;如果html页面直接在浏览器打开,网页前端不用额外做分享功能,因为浏览器自带分享。

站在网页前端的角度,下面具体介绍一下微信分享和APP分享及浏览器分享。

一、 微信分享

说明:移动端html页面嵌入微信,调用微信分享功能。

官方文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

1、封装js

require.async(‘/static/common/wxShare/jweixin-1.0.0.js‘, function() {
  wx.config({
    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    appId:wxParamObj.appId , // 必填,公众号的唯一标识
    timestamp:wxParamObj.timestamp , // 必填,生成签名的时间戳
    nonceStr:wxParamObj.nonceStr, // 必填,生成签名的随机串
    signature:wxParamObj.signature,// 必填,签名
    jsApiList: [
        "onMenuShareAppMessage",
        "onMenuShareTimeline"
    ] // 必填,需要使用的JS接口列表
  });
  wx.ready(function(){
    /**
     * config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,
     * config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,
     * 则须把相关接口放在ready函数中调用来确保正确执行。
     */

    // 分享到朋友圈
    wx.onMenuShareTimeline({
        title: wxParamObj.title ,//分享标题
        link: wxParamObj.link, //分享链接
        imgUrl: wxParamObj.imgUrl ,//分享图标
        success: function () {
        // 用户确认分享后执行的回调函数
        },
        cancel: function () {
            // 用户取消分享后执行的回调函数
        }
    });

    //分享给朋友
    wx.onMenuShareAppMessage({
        title: wxParamObj.title, // 分享标题
        desc: wxParamObj.desc, // 分享描述
        link: wxParamObj.link, // 分享链接
        imgUrl: wxParamObj.imgUrl, // 分享图标
        type: ‘‘, // 分享类型,music、video或link,不填默认为link
        dataUrl: ‘‘,// 如果type是music或video,则要提供数据链接,默认为空
        success: function () {
        // 用户确认分享后执行的回调函数
        },
        cancel: function () {
        // 用户取消分享后执行的回调函数
        }
    });
  });
});

2、传参数

var wxParamObj = {//定义全局变量
  debug: "<?php echo $debug;?>",
  appId: "<?php echo $appId;?>",
  timestamp: "<?php echo $timestamp;?>",
  nonceStr: "<?php echo $nonceStr;?>",
  signature: "<?php echo $signature;?>",
  title: "<?php echo $title;?>",
  desc: "<?php echo $desc;?>",
  link: "<?php echo $link;?>",
  imgUrl: "<?php echo $imgUrl;?>"
}

分享的按钮是微信原生页面的元素,网页前端只管传参数,微信APP那边监听点击事件。

二、APP分享

说明:移动端html页面嵌入APP,调用APP原生的分享功能。

场景1:

分享的按钮是APP原生页面的元素。网页前端传参数调APP自定义的方法,APP前端监听点击事件,弹出分享框。html页面初始化时,下面的代码执行。

var wxParamObj = {
  title : title,    // 分享标题
  desc : content,      // 分享描述
  imgUrl: imgurl,  // 分享图标
  shareUrl: link   // 分享链接
};
wxParamObjStr = JSON.stringify(wxParamObj);
pahaofang.setRightItem(‘share‘, wxParamObjStr);

场景2:

分享的按钮是html页面的元素。网页前端监听点击事件,传参数,调APP方法。点击html元素时,下面的代码执行。(网页前端在click事件里面写如下代码)

Native.share(title, content, link, imgurl);

场景3:

分享的按钮是html页面的元素。网页前端监听点击事件,重定向到APP协议中。点击html元素时,下面的代码执行。(网页前端在click事件里面写如下代码)

<a href="javascript:void(0);" class="hft-share">分享</a>
var shareUrl = "haofangtuo://service/showSNSPad?desc=锄禾日当午\r\n信息信息信息内容内容内容!&" +
"imgUrl=http://static.xxx.com/mmm.png&" +"shareUrl="+encodeURIComponent(link)+
"&title=锄禾日当午\r\n信息信息信息内容内容内容";

$(‘.hft-share‘).on(‘click‘, function(event) {
  location.href = shareUrl;
});

三、浏览器分享

浏览器自带分享功能,移动端html页面不用额外做。

时间: 2024-12-18 08:53:07

移动端html页面分享的相关文章

移动端以及 PC浏览器页面分享到朋友圈等的功能实现

我们经常可以在一些 app上看到分享到朋友圈.微信好友.qq好友等功能,例如 饿了么.美团等 app,下单之后就会弹出给好友发红包的 modal窗,这在 app上很常见,app的权限可以很大,甚至连启动手机上其他关联软件的权限都可以有,分享到什么朋友圈简直是小菜一碟,而相比之下浏览器的权限就被限制地很小,连读取粘贴板内容的功能有的浏览器都没有. 但是我们有时候依旧可以在浏览器的某些页面上,例如某条新闻页面上看到将新闻分享到朋友圈.微信好友.qq好友.qq空间.微博等的按钮,JS原生肯定是没办法实

移动端H5页面注意事项

1. 单个页面内容不能过多 设计常用尺寸:7501334 / 6401134,包含了手机顶部信号栏的高度. 移动端H5活动页面常常需要能够分享到各种社交App中,常用的有微信.QQ等. 使用移动设备查看页面时会发现,在微信浏览器中有顶部导航栏,在qq内置浏览器里不止有顶部导航,底部也有操作栏(safari浏览器也一样),这些都会占用设计稿显示区域,因此在 设计环节 就需要考虑内容的多少,页面底部要预留一定的空白,这样在微信或qq中才不会被遮住. 如下图(QQ内置浏览器):页面设计尺寸为 7501

移动端h5页面的设计稿尺寸

当我们在做手机端H5网页设计稿时(当然包含微信端的H5网页设计),如果没有做过类似的移动端的设计,UI设计师和前端工程师肯定会纠结的.如果是app设计师,就不会那么纠结啦. 延伸阅读: 2015年度最值得学习的10个H5案例(各种经典,推荐收藏) 这可能是近半年做得最好的4个H5传播案例 还没搞懂H5营销?他们已经开始在玩“虚拟现实”了! 一个插线板的H5怎么就火了?大家明明是去看周鸿祎的八卦的 那么多手机屏幕尺寸,设计稿应该按照哪一个尺寸作为标准尺寸.现在已经有2K分辨率的手机屏幕了,设计稿是

首次跟前端搭配开发——活动页面分享功能实现

以前搞管理系统麻木了 在个互联网公司一开始不是很适应 也一周了,短短一周,学到了好些东西 今让我加一个活动分享的功能 师傅今让我添加个'简单'的功能 说是实现以下一个页面分享的功能,就是给你提供一个页面,到时候点几分享按钮的时候,把这个用户的手机号码跟专业保存以下. OK,这就是功能,之后又简单说了下怎么搞,我是听得一头蒙. 说是手机端测试需要下载个抓包工具.Charles,我蒙了,啥玩意 这是下载地址 直接下载安装包安装即可. 简单理解就是对于pc web浏览器你是可以f12进行调试,但是手机

移动端H5页面的设计稿尺寸大小规范

当我们在做手机端H5网页设计稿时(当然包含微信端的H5网页设计),如果没有做过类似的移动端的设计,UI设计师和前端工程师肯定会纠结的.如果是app设计师,就不会那么纠结啦. 那么多手机屏幕尺寸,设计稿应该按照哪一个尺寸作为标准尺寸.现在已经有2K分辨率的手机屏幕了,设计稿是不是也要把宽高跟着最大分辨率来设计.显然不是. 请注意:(以下所有讨论内容和规范均将viewport设定为content=”width=device-width”的情况下) 也就是我们的H5页面前端代码里面必须包含 <meta

百度页面分享插件源代码

//页面分享 <div class="bdsharebuttonbox">    <a href="#" class="bds_more" data-cmd="more"></a>    <a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间&quo

移动端H5页面高清多屏适配方案

背景 开发移动端H5页面 面对不同分辨率的手机 面对不同屏幕尺寸的手机 视觉稿 在前端开发之前,视觉MM会给我们一个psd文件,称之为视觉稿. 对于移动端开发而言,为了做到页面高清的效果,视觉稿的规范往往会遵循以下两点: 1)首先,选取一款手机的屏幕宽高作为基准(以前是iPhone4的320×480,现在更多的是iphone6的375×667). 2)对于retina屏幕(如: dpr=2),为了达到高清效果,视觉稿的画布大小会是基准的2倍,也就是说像素点个数是原来的4倍(对iphone6而言:

手机访问php环境移动端静态页面

痛点 在做一个移动端H5页面,手机要调试访问,不方便.就想说能不能手机连接电脑的php项目,进行调试修改. 需要 手机要跟电脑同处在同个局域网中,公司的话一般是局域网,实在没有的话花个20块买个随身WIFI.我自己就是买的360WIFI 安装PHP集成环境 php菜鸟一个,所有我这边安装的是phpStudy,安装包直接下一步操作就可以了.注意WWW的位置. 安装成功之后 设置站点域名设置(记得保存) 查看apache,httpd.conf配置(看是否限制了访问) 主要是看这两条有没有被限制, +

移动端笔记--代码分享

移动端经常遇到的一些小总结,方便·以后使用: 1.关闭iOS键盘首字母自动大写 IOS的机子,默认英文输入法状态下,首字母是自动大写的,autocapitalize的属性可以实现关闭首字母大写:   <input type="text" autocapitalize="off" /> 2.关闭iOS输入自动修正 和英文输入默认自动首字母大写那样,IOS做一个功能,默认输入法会开启自动修正输入内容,这样的话,用户经常要操作两次.所以这个功能有方便和不方便之