在企业微信与微信中调用wx.previewImage 方法时遇到的问题

问题: 企业微信中  正常显示图片, 微信中会卡死黑屏,必须结束微信才能继续用

 

代码: 

            $(function() {
                FastClick.attach(document.body);
                  //图片预览
                $(".img_prev").click(function(){
                    var hosts = window.location.host; 
                    var url ="http://"+hosts+$(this).attr("src");
                    
                     var arr = Array();
                     var urls =$("#img_prev").children("img").each(function(index){
                        var temp = "http://"+hosts+$(this).attr("src");
                         arr.push(temp);
                    });
                
                    wx.previewImage({
                        current:encodeURI(url), // 当前显示图片的http链接
                        urls: arr // 需要预览的图片http链接列表
                    });
                });
 
            });
        </script>

 

问题总结:

  总结: 1. 企业微信中 urls, 数组中可以不传, 或传不正确的都不影响current中的正确的地址  2. 微信中不可以, 必须正确传递urls数据。 数据格式: var arr = [‘http://xxx/1.jpg’,’http://xxx/2.png’]

 

正确调用代码: 

            wx.ready(function() {
                     FastClick.attach(document.body);
                       //图片预览
                    $(".img_prev").click(function(){
                        var hosts = window.location.host; 
                        var url ="http://"+hosts+$(this).attr("src");
                        
                         var arr = Array();

//问题出在这里, 这个查找图片的代码不正确。微信里又必须有, 所以出错了。 
                         $(".img_prev").each(function(index){
                           var temp = "http://"+hosts+$(this).attr("src");
                           //alert(index);
                            arr.push(temp);
                        });
                         wx.previewImage({
                            current:encodeURI(url), // 当前显示图片的http链接
                            urls: arr // 需要预览的图片http链接列表
                        });
                    });
     
               });

发表评论