麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > HTML5 > 正文

html5調用app分享功能示例(WebViewJavascriptBridge)

2024-09-05 07:22:27
字體:
來源:轉載
供稿:網友

小編接到領導任務,寫h5移動端活動頁面,點擊頁面內容調取ios和Android開發自己寫的分享功能(包括微信、微信朋友圈、QQ、QQ空間等),包括用戶未登錄,讓其登錄后才能分享,分享成功后發起請求給予優惠券功能,下面是所得到的經驗,僅供參考。

建議不要使用ShareSDK

直接上干貨:不用引用其他庫

var u = navigator.userAgent;//判斷手機類型    //---------------------------------------安卓手機-------------------------------------------------------//    if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) { //安卓機        var callbackButton = document.getElementById('btnImg'); //獲取節點        callbackButton.onclick = function (e) {            e.preventDefault(); //阻止原本作用            if (userId == null) { //看是否登錄,如果沒登錄                WebViewJavascriptBridge.callHandler('loginAction', function (response) {})//這里是h5頁面調取安卓的登錄方法            } else {//已經登陸了                WebViewJavascriptBridge.callHandler('shareAction', { //h5頁面調取安卓的方法,進行分享傳給android的參數,                    "content": "你請客,我買單,呼朋喚友一起去(趣)約車", // 分享的文字                    "pictureLinking": "http://yueche-1254224848.cossh.myqcloud.com/che/%E5%B0%8F%E5%9B%BE.jpg", // 分享的圖片Url                    "title": "趣約車-星海廣場站等你", //分享的標題                    "pictureUrl": "http://agent.qyueche.com/sup/ShareSdk/xing.html", //分享的網址鏈接                    "platform": ["2", "3"] //1新浪微博2微信好友3微信朋友圈4QQ好友5QQ空間6短信                }, function (response) {})            }        }        function connectWebViewJavascriptBridge(callback) {//這里是分享成功后            if (window.WebViewJavascriptBridge) {                callback(WebViewJavascriptBridge)            } else {                document.addEventListener(                    'WebViewJavascriptBridgeReady'                    , function() {                        callback(WebViewJavascriptBridge)                    },                    false                );            }        }        connectWebViewJavascriptBridge(function(bridge) {            bridge.init(function(message, responseCallback) {                           });            bridge.registerHandler('shareComplete', function (data, responseCallback) { //ios回調的方法,                // alert(data)                if (data == 1) { //若果分享成功                    $.ajax({ //請求接口去領券                        type: "get",                        contentType: "application/x-www-form-urlencoded",                        // url: "http://main.qyueche.com/api/coupon/receiveCoupon?userId=" + userId +                        //  "&takeCouponType=2&couponId=176",                        url: "http://dev.qyueche.cn/api/coupon/receiveCoupon?userId=" + userId +                            "&takeCouponType=2&couponId=187",                        data: {},                        dataType: "json",                        success: function (data) { //領取成功                            swal(data.message);                        },                        error: function (XMLHttpRequest, textStatus, errorThrown) { //領取失敗                            swal('領取失敗!');                        }                    })                } else { //分享失敗                    swal('分享失敗!');                }            })            bridge.registerHandler('loginComplete', function (data, responseCallback) { //ios登錄的方法,                userId = data;            })        })    } else if (u.indexOf('iPhone') > -1) {         //---------------------------------------蘋果手機-------------------------------------------------------//        // swal("蘋果手機");        function setupWebViewJavascriptBridge(callback) {            if (window.WebViewJavascriptBridge) {                return callback(WebViewJavascriptBridge);            }            if (window.WVJBCallbacks) {                return window.WVJBCallbacks.push(callback);            }            window.WVJBCallbacks = [callback];            var WVJBIframe = document.createElement('iframe');            WVJBIframe.style.display = 'none';            WVJBIframe.src = 'https://__bridge_loaded__';            document.documentElement.appendChild(WVJBIframe);            setTimeout(function () {                document.documentElement.removeChild(WVJBIframe)            }, 0)        }        setupWebViewJavascriptBridge(function (bridge) {            bridge.registerHandler('shareComplete', function (data, responseCallback) { //ios回調的方法,                if (data.code == 1) { //若果分享成功                    $.ajax({ //請求接口去領券                        type: "get",                        contentType: "application/x-www-form-urlencoded",                        // url: "http://main.qyueche.com/api/coupon/receiveCoupon?userId=" + userId +                        //  "&takeCouponType=2&couponId=176",                        url: "http://dev.qyueche.cn/api/coupon/receiveCoupon?userId=" + userId +                            "&takeCouponType=2&couponId=187",                        data: {},                        dataType: "json",                        success: function (data) { //領取成功                            swal(data.message);                        },                        error: function (XMLHttpRequest, textStatus, errorThrown) { //領取失敗                            swal('領取失敗!');                        }                    })                } else { //分享失敗                    swal('分享失敗!');                }            })            bridge.registerHandler('loginComplete', function (data, responseCallback) { //ios登錄的方法,                userId = data.userId;            })            var callbackButton = document.getElementById('btnImg'); //獲取節點            callbackButton.onclick = function (e) { //點擊事件                e.preventDefault(); //阻止原本作用                if (userId == null) { //看是否登錄                    bridge.callHandler('loginAction', function (response) {})                } else {                    bridge.callHandler('shareAction', { //傳給ios的參數                        "content": "你請客,我買單,呼朋喚友一起去(趣)約車", // 分享的文字                        "pictureLinking": "http://yueche-1254224848.cossh.myqcloud.com/che/%E5%B0%8F%E5%9B%BE.jpg", // 分享的圖片Url                        "title": "趣約車-星海廣場站等你", //分享的標題                        "pictureUrl": "http://agent.qyueche.com/sup/ShareSdk/xing.html", //分享的網址鏈接                        "platform": ["2", "3"] //1新浪微博2微信好友3微信朋友圈4QQ好友5QQ空間6短信                    }, function (response) {})                }            }        })    }

總的來說,安卓和ios的代碼相似度很高,但是代碼碼放的位置不一樣,這點要注意,callHandler是頁面調取ios或安卓的方法,registerHandler是ios和安卓調取頁面的方法

圖片中紅框的位置的方法名由h5頁面開發者與ios和安卓人員商量定制。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧美成人免费一区二区三区 | 国产精品视频一区二区三区四区五区 | 欧美不卡三区 | 九九热在线精品视频 | 永久免费毛片 | 黄在线免费 | 看个毛片 | 91一区二区三区久久久久国产乱 | 国产成人强伦免费视频网站 | 精品欧美一区二区精品久久 | 看免费毛片 | fc2国产成人免费视频 | 正在播放91 | av日韩在线免费观看 | 国产艳妇av视国产精选av一区 | 精品国产欧美一区二区 | 国产精品久久亚洲 | h视频在线免费观看 | 亚洲一区二区三区日本久久九 | 中文字幕免费在线观看视频 | 黄视频网站免费 | 今井夏帆av一区二区 | 亚洲视频高清 | 国产免费高清在线 | 午夜色视频在线观看 | 免费在线国产 | 最新中文字幕日本 | 国产在线精品一区二区不卡 | 91成人免费网站 | 99视频网址 | 色播视频在线播放 | 午夜视频在线看 | 911视频免费版| 有色视频在线观看 | 国产亚洲激情 | 免费嗨片首页中文字幕 | 欧美精品一区二区视频 | 一级做a爰片性色毛片2021 | 国产精品av久久久久久久久久 | 成人羞羞网站入口 | 久久久一区二区三区精品 |