小程序webview内嵌网页和网页跳转到小程序

小程序内嵌h5网页:

<web-view src="你的网页地址" bindmessage="bindmessage" />

网页地址要配置在小程序的业务域名里。不配置的话,本地测试可以勾选开发者工具右上角详情-本地设置-不校验合法域名。但是不能扫码预览,只能真机调试。

网页跳转小程序的方法:

var ua = window.navigator.userAgent.toLowerCase();

//先判断是否微信浏览器

if (ua.match(/MicroMessenger/i) == "micromessenger") {

//再判断一下是否在小程序里

          wx.miniProgram.getEnv((res) => {

            if (res.miniprogram) {

              var url = "../index/main?type=2"; //我这个是mpvue项目的目录结构,原生小程序是另一种写法。参数写在后面就可以了,目前嵌套的网页是不能调小程序的方法的,只能通过跳转传递参数

              wx.miniProgram.navigateTo({ url });

            } 
          });

        }

那么不是内嵌在小程序里的网页能不能直接跳转小程序呢?微信sdk1.6之后是可以的了。记得引入哦:http://res.wx.qq.com/open/js/jweixin-1.6.0.js 

具体写法:

path是要跳转的小程序页面,.html不能省掉。

<script type="text/wxtag-template">是vue项目的写法,防止与组件的<template>冲突。

如果不是vue或者其他spa项目,可以直接使用<template>

<wx-open-launch-weapp
          id="launch-btn"
          path="pages/index/index.html"
          username="gh_开头的小程序原始id,不是appid哦"
        >
          <script type="text/wxtag-template">
          <style>
            //这里写按钮样式,写在外面是不行的
          </style>
          <button class="btn">
               跳转小程序
          </button>
          </script>
        </wx-open-launch-weapp>

除此之外还要先进行wx.config才行:

wx.config({
              debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
              appId: appId, // 必填,公众号的唯一标识
              timestamp: 后端获取, // 必填,生成签名的时间戳
              nonceStr: 后端获取, // 必填,生成签名的随机串
              signature: 后端获取, // 必填,签名
              jsApiList: ["scanQRCode"], // 必填,需要使用的JS接口列表,如果只需要开放标签,这个也不能空着,随便写个就行
              openTagList: ["wx-open-launch-weapp"], // 可选,需要使用的开放标签列表,例如['wx-open-launch-app']
            });

还有,记得把网页的地址加到公众号的“JS接口安全域名”下的,就可使用开放标签跳转任意合法合规的小程序啦

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值