H5 history.pushState 在微信内修改url后点击用safari打开/复制链接是修改之前的页面
解决方案:url参数增加随机参数
function wxRefresh() {
var replaceQueryParam = (param, newval, search) => {
var regex = new RegExp('([?;&])' + param + '[^&;]*[;&]?');
var query = search.replace(regex, '$1').replace(/&$/, ''); return (query.length > 2 ? query + '&' : '?') + (newval ? param + '=' + newval : '');
}; window.location.replace(location.protocol +
'//' +
location.host +
location.pathname +
replaceQueryParam('_wxr_', new Date().getTime(), location.search) +
location.hash);
};
// 执行
wxRefresh(); 优化加入refresh,避免重复刷新
share(route) {
var replaceQueryParam = (param, newval, search) => {
var regex = new RegExp('([?;&])' + param + '[^&;]*[;&]?')
var query = search.replace(regex, '$1').replace(/&$/, '')
return (
(query.length > 2 ? query + '&' : '?') +
(newval ? param + '=' + newval : '')
)
} if (!route.query.refresh) {
var chat = '&'
if (!Object.keys(route.query).length) {
chat = '?'
}
window.location.replace(
location.protocol +
'//' +
location.host +
location.pathname +
replaceQueryParam('_wxr_', new Date().getTime(), location.search) +
location.hash +
chat + 'refresh=true'
)
}
}
H5 history.pushState 在微信内修改url后点击用safari打开/复制链接是修改之前的页面的更多相关文章
- 安卓版微信内置浏览器,<a href="tel:电话号码"></a> 这个链接失效,不能跳到拨号界面?
https://segmentfault.com/q/1010000000318831 在URL最后面加“ #mp.weixin.qq.com ”,应该加其他qq.com的二级域名都行,估计是微信的安 ...
- 微信公众号菜单openid 点击菜单即可打开并登录微站
现在大部分微站都通过用户的微信openid来实现自动登录.在我之前的开发中,用户通过点击一个菜单,公众号返回一个图文,用户点击这个图文才可以自动登录微站.但是如果你拥有高级接口,就可以实现点击菜单,打 ...
- vue 单页面(SPA) history模式调用微信jssdk 跳转后偶尔 "invalid signature"错误解决方案
项目背景 vue-cli生成的单页面项目,router使用history模式.产品会在公众号内使用,需要添加微信JSSDK,做分享相关配置. 遇到的问题 相关配置与JS接口安全域名都已经ok,发布后, ...
- 2018idea如何布置tomcat修改URL后连接不到
以下连接 https://blog.csdn.net/cs825900618/article/details/86261019
- location - 修改url后 - 重新加载
window.location.href = window.location.pathname + search;
- kindeditor编辑器修改文本后保存时发现获取到的内容还是修改前的文本内容
定义kindeditor的时候要加上一下几个属性设置: KindEditor.ready(function(K) { var editor = K.create("textarea[name ...
- angular ng-repeat出来的数据 每条修改数据后返回给接口 如何取到每个对应修改的值
接口结构 $scope.DataList = [ { "dataA":"numA", "dataB":"numB"a } ...
- history.pushState 实现浏览器页面不刷新修改url链接
最近遇到了在不刷新页面的情况下修改浏览器url链接的需求,遂求助于万能的度娘,最终通过history.pushState()完美解决问题.现在将我理解的一些内容分享一下,不对的地方欢迎大家指出. 在使 ...
- history.pushState()和history.replaceState()
Html5 新增history对象的两个方法:history.pushState()和history.replaceState(),方法执行后,浏览器地址栏会变成你传的url,而页面并不会重新载入或跳 ...
随机推荐
- kafka模型理解
1.消息发送至一个topic,而这个topic可以由多个partition组成,每条消息在partition中的位置称为offset 2.消息存在有效期,如果设置为2天,则消息2天后会被删除 3.每个 ...
- DSSM:深度语义匹配模型(及其变体CLSM、LSTM-DSSM)
导语 在NLP领域,语义相似度的计算一直是个难题:搜索场景下Query和Doc的语义相似度.feeds场景下Doc和Doc的语义相似度.机器翻译场景下A句子和B句子的语义相似度等等.本文通过介绍DSS ...
- C#里面滥用String造成的性能问题
前两天给我们的json写一个解析函数, 之前用的正宗的json parser, 支持完整的json特性. 但是实际上我们用到特性, 只有key-value的映射, value的类型只有数字和字符串两种 ...
- Python-递归复习-斐波那契-阶乘-52
# 超过最大递归限制的报错# 只要写递归函数,必须要有结束条件. # 返回值# 不要只看到return就认为已经返回了.要看返回操作是在递归到第几层的时候发生的,然后返回给了谁.# 如果不是返回给最外 ...
- Python—randonm模块介绍
random是python产生伪随机数的模块 >>> random.randrange(1,10) #返回1-10之间的一个随机数,不包括10 >>> random ...
- c++入门之字符相关入门
先上代码: # include "iostream" # include "string" //# define BYTE char//注意,这里没有分号,且# ...
- Dubbo负载均衡与集群容错机制
1 Dubbo简介 Dubbo是一款高性能.轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现. 作为一个轻量级RPC框架,D ...
- ElasticSearch(简称ES)
Windows下安装ElasticSearch ElasticSearch(简称ES)是一个基于Lucene的分布式全文搜索服务器,和SQL Server的全文索引(Fulltext Index) ...
- Linxu-chsh命令
chsh用于修改登陆后的shell,每个用户都有独立的shell. 以下是chsh命令的常用操作: 一.查看本机安装了哪些shell chsh -l 二.查看当前用户正在使用的Shell ...
- 架构 规则引擎 quartz
通向架构师的道路(第五天)之tomcat集群-群猫乱舞-云栖社区-阿里云https://yq.aliyun.com/articles/259343 商业规则引擎和开源规则引擎的测试对比 - qq_39 ...