wisetc / practice

Practice conclusion
5 stars 0 forks source link

啊,微信内嵌web页面开发 #3

Open wisetc opened 6 years ago

wisetc commented 6 years ago

这样关闭微信窗口

if (!getOpenId()) {
  weui.alert('用户openId不存在,请关闭后重新进入获取用户openId。', function () {
    window.WeixinJSBridge && window.WeixinJSBridge.call('closeWindow')
  })
  return
}

iso 微信 input 定位问题

在 iso 微信公众号页面中对输入框用虚拟键盘键入后,点击软键盘上的完成,页面中的内容显示上是正常的,但是点击页面元素会发现页面元素的位置其实发生了向上的偏移。解决这个 bug,可以这样,当点击软键盘的完成,也就是页面失去焦点时,让浏览器重排。

在掘金上找到这一样一段代码,实测有效。

const pattern = /iphone|ipod|ipad/i
pattern.test(window.navigator.appVersion) &&
  document.addEventListener(
    'blur',
    () => {
      document.body.scrollIntoView(false)
    },
    true
  )

我已将上述代码封装为 package,@wisetc/wechat-webpage-helper。可以直接引入 polyfill,

require('@wisetc/wechat-webpage-helper/lib/ios-input-polyfill')