webview在Android真机调起扫码正常,但在iOS真机调起无效的问题?
发布于 6 年前 作者 wanchao 11641 次浏览 来自 问答

从网页调起scan QR code时,Android正常,iOS无效。

1、从网页引入小程序SDK jweixin-1.3.2.js,并通过webview组件调起小程序page。

webview.html 代码片段

$(“body”).on(‘click’, ‘.qrcode-scan’, function () {

    console.log(‘webview scan QR code’);

    wx.miniProgram.navigateTo({

        url: ‘/pages/scan-code/scan-code’

    });

});

2、scan-code.wxml page,仅放1行代码即可。

scan-code.wxml 代码片段

<web-view src="{{url}}"></web-view>

3、scan-code.js,处理逻辑。

scan-code.js 代码片段

const webviewUrl = require(’…/…/config’).webviewUrl

Page({

  data: {

    url: webviewUrl + ‘#wechat_redirect’

  },

  onLoad: function (options) {

    var that = this

    wx.scanCode({

      onlyFromCamera: true,

      scanType: [‘qrCode’],

      success: function(res) {

        console.log(‘scan QR code successful.’)

        that.setData({

          url: webviewUrl + ‘?q=’ + encodeURIComponent(res.result) + ‘#wechat_redirect’

        })

      },

      fail: function(res) {

        console.log(‘scan QR code failed.’)

      }

    })

  }

})

在 Android 真机上运行时调起微信扫码正常,在iOS真机上运行时调起扫码可以跳到 scan-code.wxml 页面,但是无法调起微信扫码(模拟器下iPhone 7 Plus是正常的)。

1 回复

您好,解决了么,拜托了,我也遇到了

回到顶部