热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

wechat小程序webview与网页交互

wechat-小程序web-view与网页交互.官方api说明文档:https:developers.weixin.qq.comminiprogramdevcomponentweb



wechat-小程序web-view与网页交互.

官方api说明文档: https://developers.weixin.qq.com/miniprogram/dev/component/web-view.html





前置物料



  1. 启动好一个网页服务. 比如: http://localhost/SimpleThreeJsExample/index-wx.html




步骤



  1. 在Pages下 新建一个 小程序页面. (四件套)



    • web001.wxml






      • myWebUrl: 在程序上动态设置的目的 网页地址

      • msgHandler: 处理网页返回的信息



    • web001.js

      import { gLog } from '../../src/module/log/Logger.js'; // 我自己封装的日志
      Page({
      data: { // 初始化 web001.wxml 中的初始数据
      myWebUrl: ""
      },
      onl oad: function (options) {
      gLog("--- web001 onl oad")
      let toWebArgs = {
      arg1: "hello",
      arg2: 1234,
      }
      let url = `http://localhost/SimpleThreeJsExample/index-wx.html?arg1=${toWebArgs.arg1}&arg2=${toWebArgs.arg2}`
      this.setData({ myWebUrl: url }); // 动态设置 url
      },
      /**
      * 用户分享时可获取当前的URL,即在onShareAppMessage回调中返回webViewUrl参数。 console.log(options.webViewUrl)
      */
      onShareAppMessage: function (options) {
      gLog("--- web001 onShareAppMessage, options:", options)
      },
      // 网页向小程序 postMessage 时,会在特定时机(小程序后退、组件销毁、分享)触发并收到消息。e.detail = { data }
      msgHandler: function(args) {
      // gLog("--- web001 msgHandler", args)
      gLog("--- web001 msgHandler", args.detail)
      },
      })




  2. 网页 index-wx.html 引入 jweixin-1.3.2.js.

    hello world



    • wx-logic.js. 逻辑代码都丢到里面.

      console.log("--- wx-logic ok")
      document.querySelector('#redirect').addEventListener('click', () => {
      wx.miniProgram.redirectTo({ // 调用小程序api
      url: '../index/index'
      })
      // wx.miniProgram.navigateBack({
      // delta: 1
      // })
      }, false);
      // 获取网络参数
      function GetRequest() {
      var url = location.search; //获取url中"?"符后的字串
      var theRequest = new Object();
      if (url.indexOf("?") != -1) {
      var str = url.substr(1);
      strs = str.split("&");
      for(var i = 0; i theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);
      }
      }
      return theRequest;
      }

      var args = GetRequest();
      console.log("--- args", args)
      args.webData = "world" // 随便增加点web的数据
      // 向小程序发送信息
      wx.miniProgram.getEnv(function (res) {
      console.log(res.miniprogram) // true
      if (res.miniprogram) {
      wx.miniProgram.postMessage({ data: args, args: args })
      console.log("asdasdasd")
      } else {
      console.log("just support wx")
      }
      })
      // TODO: 直接显示模型
      const threeHelper22 = new ThreeHelper();
      threeHelper22.loadObject('asset/model/aaa002.fbx');




  3. 测试.



    • 内网测试. 在小程序工具中 需要勾选 不校验 业务域名 验证



    • 外网: TODO:



    • 运行








参考



  • https://blog.csdn.net/laishaojiang/article/details/82181952

  • https://blog.csdn.net/qq_37235231/article/details/82053062




ps



  • 小程序中暂时不能输出 网页端 的log.(知道麻烦告诉我一下下)



推荐阅读
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 网络请求模块选择——axios框架的基本使用和封装
    本文介绍了选择网络请求模块axios的原因,以及axios框架的基本使用和封装方法。包括发送并发请求的演示,全局配置的设置,创建axios实例的方法,拦截器的使用,以及如何封装和请求响应劫持等内容。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
  • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
    本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
author-avatar
周周周大丨小姐想好好在家呆
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有