• 测试web-view,实现小程序和网页之间的切换


    官方有句提醒:个人类型与海外类型的小程序暂不支持使用

    测试条件:

    1.小程序后台管理中,进入“开发设置”,设置一个业务域名(注意:不是设置服务器域名)。比如 https://test.XXX.com.cn

    2.配置业务域名时,会有如下提醒。按照提醒,将下载得到的校验文件,放到业务域名的根目录下,并确保可以访问到这个文件。

    3.将做测试的 html 也提交到业务域名下的服务器。我写的测试代码如下:

    <div>
        <h3>这是网页</h3>
        <button id="btn1">跳转到小程序的首页</button>
        <button id="btn2">点击发送数据</button>
        <p>点击第二个按钮后,然后点击小程序的回退箭头,可以获取到来自网页的数据</p>
    </div>
      window.onload = function() {
            var btn1 = document.getElementById('btn1');
            var btn2 = document.getElementById('btn2');
            btn1.onclick = function() {
                wx.miniProgram.navigateTo({url: '/pages/index/index'})
            }
            btn2.onclick = function() {
                wx.miniProgram.postMessage({ data: '来自网页的数据' })
            }
        }

    4.开发者工具,打开本地测试的小程序。(注意:第一步中提到的小程序,使用它的AppId登录)

    编写小程序测试代码,我写的代码如下:

    index.wxml中,

    <navigator class="link" url="/pages/logs/logs?path=https://test.XXX.com.cn/webViewTest.html">跳转到网页</navigator>

    logs.wxml中,

    <web-view src="{{path}}" bindmessage="getMsgHandle"></web-view>

    logs.js中

    Page({
      data: {
        show: true,
        path: ''
      },
      onLoad: function () {
        var that = this;
        that.setData({
          path: that.options.path
        })
      },
      getMsgHandle: function(e) {
        var that = this;
        wx.showToast({
          title: e.detail.data[0],
          icon: 'success',
          duration: 5000
        })
        console.log(e.detail.data)
      }
    })

    我的测试思路:index.wxml中,点击一个链接,跳转到网页。实际实现是,点击index.wxml中的链接,跳转到logs.wxml,用logs.wxml,呈现要跳转的网页内容。

    注意:测试的话,直接在开发者工具中测试,或者扫码测试即可,不用将小程序上传。

    最终测试结果:点击小程序内的按钮,跳转到了显示网页的页面,点击网页中的按钮,还能回到小程序的页面。

    经过研究,个人认为,小程序和网页的跳转,并不是真正意义上的跳转,实际上还是小程序中的页面1跳转到页面2,而页面2包裹的内容是网页而已。

    如果,直接通过网页地址访问目标网页,点击目标网页中的按钮,是返回不了小程序的。

    以上为个人测试得知,如有错误,请指正。谢谢!

  • 相关阅读:
    .Net常识 值类型和引用类型
    .net 开发人员的瓶颈和职业发展
    PPT Garbage Collection in .Net (内存管理)
    Why Sessionless Web Application ?
    一些.Net面试题 (BS 方向)
    开源一个小类库, 用于对象间灵活的拷贝属性,还有IDataReader到实体类的转换
    在 Visual Studio 单元测试中使用CallContext 导致的 Unit Test Adapter threw exception: Type is not resolved for member... 异常
    【设计原则和建议】 类
    轻量级 Lock Free 线程安全的 Queue<T> 的C#2.0实现
    实验一 命令解释程序的编写
  • 原文地址:https://www.cnblogs.com/zy20160429/p/8692453.html
Copyright © 2020-2023  润新知