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

微信小程序navigator参数为网址时,接收页得不到原始数据?

微信小程序navigator参数为网址时,接收页得不到原始数据?-1情景再现:喵哥最近开发小程序的时候,使用到了web-view承载网页的容器。其中src是webview指向网页

1 情景再现:

喵哥最近开发小程序的时候,使用到了web-view承载网页的容器。其中src是webview 指向网页的链接。但是我的需求是src是动态的,并不是写死在代码里面的。所以,我打算在跳转路由navigator的url中携带网页链接。

2 问题出现

首先,在navigator的url中携带动态链接时,

    
    <navigator url="/pages/outlink/outlink?link={{data}}">走你navigator>

然后,在outlink(装有web-view的页面)页面的onLoad中接收时候,得到的参数时:

  onLoad: function (e) {
    console.log(e)   // 打印:{link: "https://mp.weixin.qq.com/s"}
  },

参数不完整, 如果我不加前面的https://mp.weixin.qq.com/s,直接传参数,是不是就可以了呢?其实不加,只传参数,则打印出来的是:

  onLoad: function (e) {
    console.log(e)   // 打印:{link: "a", b: "456", c: "789"}
  },

此时还要去一个一个的拼接,如果该网址参数很多,这就很麻烦。

3 解决办法

以下两个方法时Javascript的方法:

encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。 decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码

首先,通过encodeURIComponent()对网址进行编码。

    
    <navigator url="/pages/outlink/outlink?url={{data}}">走你navigator>

然后,在outlink(装有web-view的页面)页面的onLoad中接收时候,得到的参数时,再通过decodeURIComponent()进行解密:就可以得到完整的url

  onLoad: function (e) {
    let url = decodeURIComponent(e.link)
    console.log(url)   
    // 打印:https://mp.weixin.qq.com/s?a=123&b=456&c=789
  },

OK!!!!!以上就是我的方法,如果还有什么更好的方法的话,欢迎留言?!Over~~~


                              ?????记得单击加关注哦!!?????


推荐阅读
  • 深入解析Java枚举及其高级特性
    本文详细介绍了Java枚举的概念、语法、使用规则和应用场景,并探讨了其在实际编程中的高级应用。所有相关内容已收录于GitHub仓库[JavaLearningmanual](https://github.com/Ziphtracks/JavaLearningmanual),欢迎Star并持续关注。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • Android 渐变圆环加载控件实现
    本文介绍了如何在 Android 中创建一个自定义的渐变圆环加载控件,该控件已在多个知名应用中使用。我们将详细探讨其工作原理和实现方法。 ... [详细]
  • 基因组浏览器中的Wig格式解析
    本文详细介绍了Wiggle(Wig)格式及其在基因组浏览器中的应用,涵盖variableStep和fixedStep两种主要格式的特点、适用场景及具体使用方法。同时,还提供了关于数据值和自定义参数的补充信息。 ... [详细]
  • 本文详细介绍了中央电视台电影频道的节目预告,并通过专业工具分析了其加载方式,确保用户能够获取最准确的电视节目信息。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 本文详细介绍了网络存储技术的基本概念、分类及应用场景。通过分析直连式存储(DAS)、网络附加存储(NAS)和存储区域网络(SAN)的特点,帮助读者理解不同存储方式的优势与局限性。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 云函数与数据库API实现增删查改的对比
    本文将深入探讨使用云函数和数据库API实现数据操作(增删查改)的不同方法,通过详细的代码示例帮助读者更好地理解和掌握这些技术。文章不仅提供代码实现,还解释了每种方法的特点和适用场景。 ... [详细]
  • 微信小程序:授权登录与手机号绑定
    本文详细介绍了微信小程序中用户授权登录及绑定手机号的流程,结合官方指引和实际开发经验,提供了一套完整的实现方案,帮助开发者更好地理解和应用。 ... [详细]
  • 在使用Netty 4.1.48版本运行自带的HTTP服务器示例时,观察到大量本地IP环回连接。本文将探讨这些环回连接的原因,并解释其与TCP连接的关系。 ... [详细]
author-avatar
手机用户2502909797
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有