问题

我做了微信分享,各种配置都ok,安卓实现分享,但是ios分享不显示图片和简介 。(如下图)

 

解决过程

        经过一天的折腾,核对各种问题最终发现问题所在。是我的url中带有汉字使用escape()进行的加密苹果分享的时候会自动的对(汉字)解码decodeURIComponent()造成了url签名错误。

http://adminpc.z1mei.com/Admin/TLogin?ref=/htmls/TraceOne/TraceCameraLive.html?name=%E7%AE%80%E4%BB%8B&id=166&word=7B928D5BFFD7FE508CCCAFC73F2B52EB2

解决办法是,在打开要分享的页面的时候,使用encodeURIComponent()对汉字进行加密,就可以了。

补充说明

我在获取urll参数的时候使用的了getUrlParam()这个js方法。这里方法网上有一堆,比较老,在获取参数的同时使用了unescope()对参数进行了解码。目前来说escape() http://www.w3school.com.cn/ 都不在推荐使用了。具体代替为encodeURIComponent();

getUrlParam()我的升级代码

function getUrlParam(name,fnDecode) {var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象var r = window.location.search.substr(1).match(reg); //匹配目标参数if (r != null) {if (typeof fnDecode === "function") {return fnDecode(r[2]);}return unescape(r[2]);}return null; //返回参数值
}

url的三个js编码函数escape(),encodeURI(),encodeURIComponent()

escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值。比如"春节"的返回结果是%u6625%u8282,,escape()不对"+"编码 主要用于汉字编码,现在已经不提倡使用。

encodeURI()是Javascript中真正用来对URL编码的函数。 编码整个url地址,但对特殊含义的符号"; / ? : @ & = + $ , #",也不进行编码。对应的解码函数是:decodeURI()。

encodeURIComponent() 能编码"; / ? : @ & = + $ , #"这些特殊字符。对应的解码函数是decodeURIComponent()。

假如要传递带&符号的网址,所以用encodeURIComponent()

参考资料(加粗为重要的资料)

https://blog.csdn.net/angle_lzc/article/details/84864455

https://blog.csdn.net/weixin_34310127/article/details/87616016

https://www.cnblogs.com/huaxingtianxia/p/7125862.html

https://www.oschina.net/question/2600088_2189362?sort=time

http://www.w3school.com.cn/jsref/jsref_escape.asp

        

转载于:https://www.cnblogs.com/Blogs-Wang/p/10976052.html

微信分享ios 不显示图片和简介问题总结相关推荐

  1. 微信分享 安卓不显示图片

    微信分享在IOS手机上分享小图标是显示的,安卓手机部分图标不显示,最终是把.png格式改成.jpg格式图标就OK

  2. 关于微信小程序不能显示图片

    本人场景:wxml <image> 标签设置 src="../../images/中文名.png" 时出现 IOS 端显示没问题,而安卓端不显示图片的问题. 上网一查才 ...

  3. 微信转发链接不显示图片和描述文字

    微信转发链接不显示图片和描述文字,只显示标题. 如果你觉得排除了代码的错误. 那就可能是因为没有绑定正确的公众号$appid和$appsecret 不清楚,之前的微信链发代码,是不是需要这两样,现在是 ...

  4. 微信分享网站链接显示缩略图和描述的方法

    最近在为一个网站添加微信分享文章显示图片和描述的功能,这个功能以前了解过,但并无完全实现过,这个功能须要认证的公众号支持.现最新微信分享网站链接显示缩略图和描述的方法(附带傻瓜式代码包 使用简单,在你 ...

  5. PHP---微信JS-SDK获取access_token/jsapi_ticket/signature权限签名算法,php/thinkphp实现微信分享自定义文字和图片...

    PHP---微信JS-SDK获取access_token/jsapi_ticket/signature权限签名算法, php/thinkphp实现微信分享自定义文字和图片. 一.先看微信JS-SDK文 ...

  6. 微信分享网页链接自定义图片和文字描述

    今天开发需要微信分享网页链接自定义图片和文字描述,于是网上各种查找资料和各种看手册,遇到了好多坑,不过啃了半天以后终于把问题解决了,以防以后忘记,今天记录一下; 首先,由于微信已经发布了想要分享链接必 ...

  7. android 图片气泡,关于实现微信聊天气泡里显示图片解决方案

    关于实现微信聊天气泡里显示图片 这是微信的效果,气泡中的图片没有边距 这是我的效果,背景气泡是用.9.png图片组成的一个selector,气泡中的图片有边距  如何才能像微信那样没有边矩呢? --- ...

  8. 微信分享带缩略图,标题,简介的JS代码(亲测有效)

    (function(){    var appId = '',             imgUrl = 'http://huaweiapu.toprand.com/ascendG7/assets/i ...

  9. 微信开发者工具联网失效以及微信分享ios失效的坑!

    微信开发者工具: 当前系统代理不是安全代理? 命令行输入regedit或按快捷键win+R然后输入regedit,打开注册表编辑器------通过下面的路径打开 HKEY_CURRENT_USER/S ...

  10. android微信分享icon不能显示,微信分享 icon图片不显示问题

    微信分享中,会有一个小图标显示出来,该怎么做,注意哪些问题 这个图片能显示的条件: 宽高大于300px 页面从上到下的第一张图片 除了上面两点,经过测试,还有以下要注意的 img标签上不能出现 dis ...

最新文章

  1. Gym 101606 F-Flipping Coins(概率dp)
  2. 部署高可用的Lync Server 2013 Part 4 部署高可用的文件共享DFS
  3. Define change document object
  4. 为什么“极大似然估计表达式的极值”可以用来估计参数
  5. SpringCloud Greenwich(一)注册中心之nacos、Zuul和 gateway网关配置
  6. c和汇编混合编程----main的反汇编
  7. 安卓逆向_24( 一 ) --- Hook 框架 frida( Hook Java层 和 so层) )
  8. mysql插入删除_mysql插入、更新与删除
  9. mysql-proxy数据库中间件架构
  10. 漫画:如何实现抢红包算法?
  11. httpclient案例一(调用识别接口)
  12. android游戏源码
  13. 【Linux学习】Vim 怎么设置显示行号以及永久性显示行号
  14. matlab中的pascal函数
  15. ArcGIS利用DEM提取河流水系(附练习数据下载)
  16. 企业微信端开启debug模式
  17. 方舟创建专用服务器显示黑框,方舟创建非专用游戏服务器
  18. 简单实现微信小程序音乐音频播放的功能
  19. 深入分析JavaWeb Item22 -- 国际化(i18n)
  20. 2022年全国最新消防设施操作员(初级消防设施操作员)题库及答案

热门文章

  1. linux系统上不去网,linux 上不去网
  2. oracle 改redo表空间,Oracle临时表空间查看、添加临时表空间数据文件、修改默认临时表空间 方法!...
  3. Windows下Nginx负载均衡配置和优化方案
  4. python二进制文件读写文件_Python二进制文件读写
  5. Ubuntu系统 -- 初始化配置与基础操作
  6. 企业常用的RPC框架比较
  7. Python学习之路28-符合Python风格的对象
  8. 从实例中学习grid布局
  9. nodejs+socket.io用nginx反向代理提示400 Bad Request及ws://…无法连接的解决方法
  10. 智能家居规模发展尚需时日