收藏
回答

在web-view中调用wx.miniProgram.navigateTo报undefined?

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js">
$scope.clickCloseWind = function () {
  function ready() {
  if(window.__wxjs_environment === 'miniprogram'){
	  wx.miniProgram.navigateTo({url: '/pages/mine/mine'})
  }else{
	   wx.closeWindow();
  }
}
if (!window.WeixinJSBridge || !WeixinJSBridge.invoke) {
  document.addEventListener('WeixinJSBridgeReady', ready, false)
} else {
  ready()
}

回答关注问题邀请回答
收藏

3 个回答

  • 好脾气先生
    好脾气先生
    03-31

    问题解决没,可能是你的原h5网站引入过旧版本的sdk,把他找出来删掉更换新的sdk应该会解决

    <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>


    03-31
    有用 1
    回复 1
    • Mr.梁
      Mr.梁
      03-31
      解决了,就是因为引入的是旧版的sdk。
      03-31
      回复
  • 微盟
    微盟
    03-23
       window.loadJs('https://res.wx.qq.com/open/js/jweixin-1.3.2.js',()=>{
           let ready = ()=>{
               if(window.__wxjs_environment === 'miniprogram'){
                  window.wx.navigateTo({url: '/pages/mine/mine'})
                }
              }
          if (!window.WeixinJSBridge || !window.WeixinJSBridge.invoke) {
         document.addEventListener('WeixinJSBridgeReady', ready, false)
            } else {
          ready()
             }
         });
    
    03-23
    有用
    回复 1
  • brave
    brave
    03-22
    var ua = navigator.userAgent.toLowerCase();
    if(ua.match(/MicroMessenger/i) == "micromessenger") {
      //ios的ua中无miniProgram,但都有MicroMessenger(表示是微信浏览器)
      wx.miniProgram.getEnv((res)=>{
        if (res.miniprogram) {
          console.log("小程序内跳转页面");
          wx.miniProgram.navigateTo({
            url: `/pages/webview/webview?url=${url}`
          });
         }
      });
    } else {
      console.log("网页端跳转页面", url);
      window.location.href = url;
    }
    
    03-22
    有用
    回复 1
    • Mr.梁
      Mr.梁
      03-22
      我用这个方法了,也会报错,报getEnv是undefined
      03-22
      回复
登录 后发表内容
问题标签