在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/PHP  網(wǎng)絡(luò)營銷  HTML/ 微信分享接口分享完成后在某些蘋果設(shè)備上不能正常執(zhí)行回調(diào)

微信分享接口分享完成后在某些蘋果設(shè)備上不能正常執(zhí)行回調(diào)

  1. 我寫了一個H5項目,現(xiàn)在已經(jīng)在線上,發(fā)現(xiàn)使用ip7 plus ip x等手機(jī)在分享給朋友后可以正常完成回調(diào)然后執(zhí)行跳轉(zhuǎn)動作,但是如果分享到朋友圈的話,分享完成后(朋友圈分享成功)不能正常的執(zhí)行回調(diào)完成跳轉(zhuǎn)的事件,請問有哪位遇到這古怪的問題嗎?
  2. 以下附上相關(guān)代碼
    <script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript" charset="utf-8">
        $(function () {
            var bodyH = $("body").height();
            var candyH = $(".candy").height();
            var bottomH = $(".bottom").height();
            var h = bodyH - (bodyH - candyH) - bottomH;
            $(".candy .container").css("min-height",h+"px");

            wx.config({!! $shareConfig['js_sdk_config'] !!});
            wx.ready (function () {
                // 微信分享的數(shù)據(jù)
                var shareData = {
                    "imgUrl" : '{{$shareConfig['imgUrl']}}',    // 分享顯示的縮略圖地址
                    "link" : '{{$shareConfig['link']}}',    // 分享地址
                    "desc" : '{{$shareConfig['desc']}}',   // 分享描述
                    "title" : '{{$shareConfig['title']}}',   // 分享標(biāo)題
                    success : function () {
                        // 分享成功可以做相應(yīng)的數(shù)據(jù)處理
                        console.log('share success');
                        var _candy_id = '{{$candy->id ?? false}}';
                        var _user_id  = '{{$user->id ?? false}}';
                        var _openid   = '{{$user->openid ?? false}}';
                        var _post_json = {candy_id:_candy_id,user_id:_user_id,openid:_openid};
                        $.ajaxSetup({
                            headers: {
                                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                            }
                        });
                        $.ajax({
                            type: "POST",
                            url: "{{url('/share')}}",
                            data: _post_json,
                            dataType: "json",
                            success: function(data){
                                if (data.code === '1024'){
                                    document.getElementById("redirect").click();
                                }
                            }
                        });
                    }
                };
                wx.onMenuShareTimeline (shareData);
                wx.onMenuShareAppMessage (shareData);
            });
            wx.error(function(res){
                // config信息驗證失敗會執(zhí)行error函數(shù),如簽名過期導(dǎo)致驗證失敗,
                // 具體錯誤信息可以打開config的debug模式查看,也可以在返回的res參數(shù)中查看,
                //對于SPA可以在這里更新簽名。
                alert("好像出錯了?。?);
            });
        });
    </script>

注意:

<body>
<a href="{{url('/signUp', array('abbreviation'=>$candy->abbreviation))}}" style="visibility: hidden;" id="redirect"></a>
</body>
document.getElementById("redirect").click();

這行代碼是為了兼容部分手機(jī)不能正常跳轉(zhuǎn)的問題,取代windows.location.href在某些場景下不難使用。

請各位先生指點。。。。

回答
編輯回答
悶油瓶

clipboard.png
可以在微信開發(fā)者工具中查看分享配置成功沒有,工具上面也可以查看分享回調(diào)的!

2017年6月1日 13:11
編輯回答
膽怯

clipboard.png

感謝以上各位的出謀劃策,悶頭調(diào)試了一天,重要找到了一個不知道為什么解決了此問題的解決方案,那就是加一個定時器!??!

            wx.config({!! $shareConfig['js_sdk_config'] !!});
            wx.ready (function () {
                // 微信分享的數(shù)據(jù)
                var shareData = {
                    "imgUrl" : '{{$shareConfig['imgUrl']}}',    // 分享顯示的縮略圖地址
                    "link" : '{{$shareConfig['link']}}',    // 分享地址
                    "desc" : '{{$shareConfig['desc']}}',   // 分享描述
                    "title" : '{{$shareConfig['title']}}',   // 分享標(biāo)題
                    success : function () {
                        alert('success');
                        // 分享成功可以做相應(yīng)的數(shù)據(jù)處理
                        console.log('share success');
                        var _candy_id = '{{$candy->id ?? false}}';
                        var _user_id  = '{{$user->id ?? false}}';
                        var _openid   = '{{$user->openid ?? false}}';
                        var _post_json = {candy_id:_candy_id,user_id:_user_id,openid:_openid};
                        $.ajaxSetup({
                            headers: {
                                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                            }
                        });
                        setTimeout(function(){
                            //回調(diào)要執(zhí)行的代碼
                            $.ajax({
                                type: "POST",
                                url: "{{url('/share')}}",
                                data: _post_json,
                                dataType: "json",
                                success: function(data){
                                    // 分享成功后跳轉(zhuǎn)頁面
                                    if (data.code === '1024'){
                                        document.getElementById("redirect").click();

                                    }
                                }
                            });
                        }, 500);

                    }
                };
                wx.onMenuShareAppMessage (shareData);
                wx.onMenuShareTimeline (shareData);
            });

setTimeout(call_function, time)

大家在此處加一個定時器就可以解決這個問題!??!

2017年6月13日 11:08
編輯回答
玩控

圖片描述

分享做調(diào)整了,具體看分享功能調(diào)整

2018年6月23日 18:52
編輯回答
悶油瓶

你這傳的代碼只有看到你調(diào)用了
wx.onMenuShareTimeline (shareData);
wx.onMenuShareAppMessage (shareData);
根本不知道做了什么

2018年5月17日 03:25