热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HTML5网页如何调用浏览器APP的微信分享功能

<!DOCTYPEhtml><html><head><metacharset"utf-8"><metahttp-equ























/** * Created by Jeffery Wang. * Create Time: 2015-06-16 19:52 * Author Link: http://blog.wangjunfeng.com */var nativeShare = function (elementNode, config) {    if (!document.getElementById(elementNode)) {        return false;    }    var qApiSrc = {        lower: "http://3gimg.qq.com/html5/js/qb.js",        higher: "http://jsapi.qq.com/get?api=app.share"    };    var bLevel = {        qq: {forbid: 0, lower: 1, higher: 2},        uc: {forbid: 0, allow: 1}    };    var UA = navigator.appVersion;    var isqqBrowser = (UA.split("MQQBrowser/").length > 1) ? bLevel.qq.higher : bLevel.qq.forbid;    var isucBrowser = (UA.split("UCBrowser/").length > 1) ? bLevel.uc.allow : bLevel.uc.forbid;    var version = {        uc: "",        qq: ""    };    var isWeixin = false;    cOnfig= config || {};    this.elementNode = elementNode;    this.url = config.url || document.location.href || '';    this.title = config.title || document.title || '';    this.desc = config.desc || document.title || '';    this.img = config.img || document.getElementsByTagName('img').length > 0 && document.getElementsByTagName('img')[0].src || '';    this.img_title = config.img_title || document.title || '';    this.from = config.from || window.location.host || '';    this.ucAppList = {        sinaWeibo: ['kSinaWeibo', 'SinaWeibo', 11, '新浪微博'],        weixin: ['kWeixin', 'WechatFriends', 1, '微信好友'],        weixinFriend: ['kWeixinFriend', 'WechatTimeline', '8', '微信朋友圈'],        QQ: ['kQQ', 'QQ', '4', 'QQ好友'],        QZone: ['kQZone', 'QZone', '3', 'QQ空间']    };    this.share = function (to_app) {        var title = this.title, url = this.url, desc = this.desc, img = this.img, img_title = this.img_title, from = this.from;        if (isucBrowser) {            to_app = to_app == '' ? '' : (platform_os == 'iPhone' ? this.ucAppList[to_app][0] : this.ucAppList[to_app][1]);            if (to_app == 'QZone') {                B = "mqqapi://share/to_qzone?src_type=web&version=1&file_type=news&req_type=1&image_url="+img+"&title="+title+"&description="+desc+"&url="+url+"&app_name="+from;                k = document.createElement("div"), k.style.visibility = "hidden", k.innerHTML = '', document.body.appendChild(k), setTimeout(function () {                    k && k.parentNode && k.parentNode.removeChild(k)                }, 5E3);            }            if (typeof(ucweb) != "undefined") {                ucweb.startRequest("shell.page_share", [title, title, url, to_app, "", "@" + from, ""])            } else {                if (typeof(ucbrowser) != "undefined") {                    ucbrowser.web_share(title, title, url, to_app, "", "@" + from, '')                } else {                }            }        } else {            if (isqqBrowser && !isWeixin) {                to_app = to_app == '' ? '' : this.ucAppList[to_app][2];                var ah = {                    url: url,                    title: title,                    description: desc,                    img_url: img,                    img_title: img_title,                    to_app: to_app,//微信好友1,腾讯微博2,QQ空间3,QQ好友4,生成二维码7,微信朋友圈8,啾啾分享9,复制网址10,分享到微博11,创意分享13                    cus_txt: "请输入此时此刻想要分享的内容"                };                ah = to_app == '' ? '' : ah;                if (typeof(browser) != "undefined") {                    if (typeof(browser.app) != "undefined" && isqqBrowser == bLevel.qq.higher) {                        browser.app.share(ah)                    }                } else {                    if (typeof(window.qb) != "undefined" && isqqBrowser == bLevel.qq.lower) {                        window.qb.share(ah)                    } else {                    }                }            } else {            }        }    };    this.html = function() {        var position = document.getElementById(this.elementNode);        var html = '';        position.innerHTML = html;    };    this.isloadqqApi = function () {        if (isqqBrowser) {            var b = (version.qq <5.4) ? qApiSrc.lower : qApiSrc.higher;            var d = document.createElement("script");            var a = document.getElementsByTagName("body")[0];            d.setAttribute("src", b);            a.appendChild(d)        }    };    this.getPlantform = function () {        ua = navigator.userAgent;        if ((ua.indexOf("iPhone") > -1 || ua.indexOf("iPod") > -1)) {            return "iPhone"        }        return "Android"    };    this.is_weixin = function () {        var a = UA.toLowerCase();        if (a.match(/MicroMessenger/i) == "micromessenger") {            return true        } else {            return false        }    };    this.getVersion = function (c) {        var a = c.split("."), b = parseFloat(a[0] + "." + a[1]);        return b    };    this.init = function () {        platform_os = this.getPlantform();        version.qq = isqqBrowser ? this.getVersion(UA.split("MQQBrowser/")[1]) : 0;        version.uc = isucBrowser ? this.getVersion(UA.split("UCBrowser/")[1]) : 0;        isWeixin = this.is_weixin();        if ((isqqBrowser && version.qq <5.4 && platform_os == "iPhone") || (isqqBrowser && version.qq <5.3 && platform_os == "Android")) {            isqqBrowser = bLevel.qq.forbid        } else {            if (isqqBrowser && version.qq <5.4 && platform_os == "Android") {                isqqBrowser = bLevel.qq.lower            } else {                if (isucBrowser && ((version.uc <10.2 && platform_os == "iPhone") || (version.uc <9.7 && platform_os == "Android"))) {                    isucBrowser = bLevel.uc.forbid                }            }        }        this.isloadqqApi();        if (isqqBrowser || isucBrowser) {            this.html();        } else {            document.write('目前该分享插件仅支持手机UC浏览器和QQ浏览器');        }    };    this.init();    var share = this;    var items = document.getElementsByClassName('nativeShare');    for (var i=0;i

.shareBtn {
border: dotted 1px #ddd;
display: block;
width: 100px;
text-align: center;
margin: 20px auto 0 auto;
cursor: pointer;
height: 40px;
line-height: 40px;
}

.am-share {
font-size: 14px;
border-radius: 0;
bottom: 0;
left: 0;
position: fixed;
-webkit-transform: translateY(100%);
-ms-transform: translateY(100%);
transform: translateY(100%);
-webkit-transition: -webkit-transform 300ms;
transition: transform 300ms;
width: 100%;
z-index: 1110;
}

.am-modal-active {
transform: translateY(0px);
-webkit-transform: translateY(0);
-ms-transform: translateY(0);
transform: translateY(0);
}

.am-modal-out {
z-index: 1109;
-webkit-transform: translateY(100%);
-ms-transform: translateY(100%);
transform: translateY(100%)
}

.am-share-footer .share_btn {
color: #555;
display: block;
width: 100%;
background-color: #fff;
border: 1px solid #fff;
border-radius: 0;
cursor: pointer;
font-size: 16px;
font-weight: 400;
line-height: 1.2;
padding: 0.625em 0;
text-align: center;
transition: background-color 300ms ease-out 0s, border-color 300ms ease-out 0s;
vertical-align: middle;
white-space: nowrap;
font-family: "微软雅黑";
}

.am-share-sns {
background-color: #fff;
padding-top: 20px;
height: auto;
zoom: 1;
overflow: auto;
}

.am-share-sns a {
color: #555;
display: block;
text-decoration: none;
}

.am-share-sns span {
display: block;
}

.sharebg {
background-color: rgba(0, 0, 0, 0.6);
bottom: 0;
height: 100%;
left: 0;
opacity: 0;
position: fixed;
right: 0;
top: 0;
width: 100%;
z-index: 1100;
display: none;
}

.sharebg-active {
opacity: 1;
display: block;
}


/*插件*/

#nativeShare .list {
width: 100%;
margin: 0 auto;
}

#nativeShare .list span {
width: 25%;
display: inline-block;
text-align: center;
margin: 10px 0;
}

#nativeShare .list span i {
width: 40px;
height: 40px;
display: block;
margin: 0 auto;
margin-bottom: 5px;
}

#nativeShare .weibo i {
background-image: url(../icon/weibo.png);
background-size: cover;
}

#nativeShare .weixin i {
background-image: url(../icon/weixin_friend.png);
background-size: cover;
}

#nativeShare .weixin_timeline i {
background-image: url(../icon/weixin.png);
background-size: cover;
}

#nativeShare .qq i {
background-image: url(../icon/qq.png);
background-size: cover;
}

#nativeShare .qzone i {
background-image: url(../icon/qqzone.png);
background-size: cover;
}

#nativeShare .more i {
background-image: url(../icon/more.png);
background-size: cover;
}


提示:目前仅仅支持uc浏览器和QQ浏览器查看功能



推荐阅读
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • PHPMailer邮件类邮件发送功能的使用教学及注意事项
    本文介绍了使用国外开源码PHPMailer邮件类实现邮件发送功能的简单教学,同时提供了一些注意事项。文章涵盖了字符集设置、发送HTML格式邮件、群发邮件以及避免类的重定义等方面的内容。此外,还提供了一些与PHP相关的资源和服务,如传奇手游游戏源码下载、vscode字体调整、数据恢复、Ubuntu实验环境搭建、北京爬虫市场、进阶PHP和SEO人员需注意的内容。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • JS实现一键分享功能
    本文介绍了如何使用JS实现一键分享功能,并提供了2019独角兽企业招聘Python工程师的标准。同时,给出了分享到QQ空间、新浪微博和人人网的链接。 ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • 本文介绍了网页播放视频的三种实现方式,分别是使用html5的video标签、使用flash来播放以及使用object标签。其中,推荐使用html5的video标签来简单播放视频,但有些老的浏览器不支持html5。另外,还可以使用flash来播放视频,需要使用object标签。 ... [详细]
  • 微信商户扫码支付 java开发 [从零开发]
    这个教程可以用作了解扫码支付的整体运行过程,已经实现了前端扫码,记录订单,回调等一套完整的微信扫码支付。相关链接:微信支 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了markdown[软件代理设置]相关的知识,希望对你有一定的参考价值。 ... [详细]
  • <!DOCTYPEhtml><htmllang"en"><head><metacharset"UTF-8&qu ... [详细]
  • React图片输入框移动端网页_018
    React-图片输入框-移动端网页gitHub地址觉得有参考价值,点个赞https:github.comxiaopingzh…目录结构.├──README.md├──dist│├─ ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 本文讨论了在PHP中将空格转换为问号的问题,并提供了解决方案。文章指出,空格不是标准的空格,而是特殊的0xC2 0xA0字符。作者尝试使用mb_convert_encoding函数将utf8字符串转换为gbk编码,但未成功。文章建议检查编辑器是否对空格进行了特殊处理,并提供了使用base64_encode函数打印结果的方法。最后,给出了完整的代码示例。 ... [详细]
author-avatar
歼鸡队队长_512
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有