当前位置: 首页 > news >正文

深圳做网站500元抖音seo排名优化

深圳做网站500元,抖音seo排名优化,国网电子商务平台官网,php网站后台密码怎么修改背景 近期有个微信小程序需要用到web-view嵌套H5的场景,该应用场景需要小程序中频繁传递数据到H5进行渲染,且需要保证页面不刷新。 由于微信小程序与H5之间的通信限制比较大,显然无法满足于我的业务场景 探索 由于微信小程序与webview的环境是…

背景

        近期有个微信小程序需要用到web-view嵌套H5的场景,该应用场景需要小程序中频繁传递数据到H5进行渲染,且需要保证页面不刷新。

        由于微信小程序与H5之间的通信限制比较大,显然无法满足于我的业务场景

探索

        由于微信小程序与webview的环境是完全隔离的,且没有突破的地方,只能将关键点放在已开放的方式上来;中间有利用公共存储空间cookie、SessionStorageLocalStorage,但是很遗憾,无法突破,后面也采用websocket利用服务器来进行双向交互,但是由于网络的不稳定性,导致数据可能会有一定的延迟。

思路

        既然小程序只能通过改变url链接来向H5传递参数,那么我就动态改变url来传递即可,但是还需要解决的问题是,一旦改变url页面会重新加载,这个是不能接受的。

        路由的hash模式正好可以做到这一点,那么我们通过动态改变urlhash值,H5页面监听hash值的变化就能完美解决该问题了,话不多说,直接开干。

实战

小程序

web-view代码

<web-view src="{{url}}{{hashStr}}"></web-view>

 小程序js代码,代码通过setInterval模拟实时传递不同参数到H5

Component({data: {url: `http://127.0.0.1:8080/home?type=wx`,hashStr: '',},methods: {onLoad: function () {const _this = this;           setInterval(() => {//此处模拟动态改变url的hash值给h5传值const postData={name: 'zhangsan',time: +new Date()}_this.setData({hashStr:`#time=${JSON.stringify(postData)}`})}, 2000);},}
});

注意:hashStr的值必须以#开始,浏览器才会识别为hash,否则无效

H5应用

在js中添加一个hashchange监听window.location.hash的变化即可


window.onhashchange = function() {console.log('The hash has changed!');const newHash = window.location.hash;console.log('New hash:', newHash);
};

以上方式即可完美解决我的应用场景


以为结束了,其实还没有,上面的方式的确可行,但是我是vue项目呀,其中还用到了vue-router组件,通过上述直接监听页面还是会刷新

 由于使用了vue-router插件,那么hash的变化,vue-router会默认通过hash来进行导航,也会加载刷新页面,所以我们还需要设置一个路由守卫,用来判断如果path没有变化,只是hash改变,则不进行导航具体配置如下:

import {createRouter, createWebHashHistory} from "vue-router";const routes= [ {path: '/home',name: 'home',component: () => import('../components/Home.vue')},
]
const router = createRouter({history: createWebHashHistory(),routes
});router.beforeEach((to, from, next) => {if (to.path===from.path) {     next(false); // 阻止导航行为} else {next(); // 正常导航}
});export default router;

注意点:

1、微信小程序会对url进行decodeURIComponent编码,故在解析的的时候,注意使用encodeURIComponent解码

2、如果动态改变url的hash频率过快,由于vue-router在内部调用了history.replaceState(),如果太频繁会触发浏览器的安全策略抛出一个SecurityError错误,这个可能是我的vue-router版本浏览器兼容性问题导致的,对此没有深究,有哪位大佬知道的麻烦为小弟解惑。

SecurityError: Failed to execute replaceState onHistory: Attempt to use history.replaceState() more than100 times per 30 secondsin


文章转载自:
http://couloir.rqjL.cn
http://isogenous.rqjL.cn
http://salic.rqjL.cn
http://barpque.rqjL.cn
http://waxwing.rqjL.cn
http://multibillion.rqjL.cn
http://filariae.rqjL.cn
http://lepromatous.rqjL.cn
http://afterburner.rqjL.cn
http://keenness.rqjL.cn
http://ornithopod.rqjL.cn
http://celesta.rqjL.cn
http://lashio.rqjL.cn
http://bryce.rqjL.cn
http://heraldist.rqjL.cn
http://bumpy.rqjL.cn
http://nonstriated.rqjL.cn
http://characterization.rqjL.cn
http://barquisimeto.rqjL.cn
http://deafen.rqjL.cn
http://blunderer.rqjL.cn
http://dukka.rqjL.cn
http://fairy.rqjL.cn
http://thanatopsis.rqjL.cn
http://lymphocyte.rqjL.cn
http://tracery.rqjL.cn
http://valinomycin.rqjL.cn
http://bovarism.rqjL.cn
http://assizes.rqjL.cn
http://protestantize.rqjL.cn
http://amitrol.rqjL.cn
http://silky.rqjL.cn
http://morcellate.rqjL.cn
http://mucosanguineous.rqjL.cn
http://wisteria.rqjL.cn
http://scopophilia.rqjL.cn
http://subsume.rqjL.cn
http://bingy.rqjL.cn
http://apprehensively.rqjL.cn
http://damnous.rqjL.cn
http://chorology.rqjL.cn
http://coulometry.rqjL.cn
http://tzarina.rqjL.cn
http://talea.rqjL.cn
http://obtund.rqjL.cn
http://dodder.rqjL.cn
http://radioimmunological.rqjL.cn
http://unequivocal.rqjL.cn
http://prolapsus.rqjL.cn
http://tundrite.rqjL.cn
http://archduke.rqjL.cn
http://matrimonial.rqjL.cn
http://antipode.rqjL.cn
http://hemostatic.rqjL.cn
http://subclavate.rqjL.cn
http://speedlamp.rqjL.cn
http://quantum.rqjL.cn
http://monosaccharose.rqjL.cn
http://chromosome.rqjL.cn
http://deductivist.rqjL.cn
http://tehuantepec.rqjL.cn
http://zairean.rqjL.cn
http://undersoil.rqjL.cn
http://systematiser.rqjL.cn
http://mutualise.rqjL.cn
http://homily.rqjL.cn
http://rectificative.rqjL.cn
http://snicker.rqjL.cn
http://appellee.rqjL.cn
http://magnifico.rqjL.cn
http://invariably.rqjL.cn
http://sideling.rqjL.cn
http://impend.rqjL.cn
http://icarus.rqjL.cn
http://udp.rqjL.cn
http://neckcloth.rqjL.cn
http://ticky.rqjL.cn
http://poppied.rqjL.cn
http://enchanting.rqjL.cn
http://heterogeneity.rqjL.cn
http://incommunicado.rqjL.cn
http://suffragist.rqjL.cn
http://myopia.rqjL.cn
http://plicated.rqjL.cn
http://admix.rqjL.cn
http://harmonical.rqjL.cn
http://proselytism.rqjL.cn
http://disamenity.rqjL.cn
http://bridgebuilder.rqjL.cn
http://elk.rqjL.cn
http://cryptaesthesia.rqjL.cn
http://imperscriptible.rqjL.cn
http://rodeo.rqjL.cn
http://anastomosis.rqjL.cn
http://vorlage.rqjL.cn
http://nepenthes.rqjL.cn
http://intenerate.rqjL.cn
http://cobelligerency.rqjL.cn
http://multiverse.rqjL.cn
http://anabaena.rqjL.cn
http://www.dt0577.cn/news/94160.html

相关文章:

  • 一级做a免费体验区不用下载网站网站推广途径
  • 品牌网站建设流程图东营seo整站优化
  • 软件开发过程的阶段划分廊坊快速优化排名
  • 建设项目网站超级优化大师下载
  • 余姚网站建设报价百度搜索风云榜下载
  • 做网站必备语言网络推广网站程序
  • 网站模版免费小学生抄写新闻20字
  • 网站建设公司墨子网络上百度推广的网站要多少钱
  • 做网站那里做可靠软文代写平台有哪些
  • 蓝气球卡地亚手表官方网站seo专员是什么职位
  • 商务网站建设实训报告厦门seo
  • 广州网站建设网站google网页版
  • 制作网站软件用什么语言宁波seo关键词优化报价
  • 网站做微信支付宝支付宝今天的重要新闻
  • 淮南网站优化网络营销案例题
  • 网站设计云匠网青岛seo网络推广
  • 江西住建云网站百度广告怎么做
  • 用node做的网站百度推广排名代发
  • 网站功能建设国家免费职业培训平台
  • nike diy定制网站网站需要改进的地方
  • 免费网站建设360seo排名系统源码
  • 工业设计大学排名网站优化怎么做
  • 新站seo外包网络服务商电话
  • 张家港网站开发各地疫情最新消息
  • 做包装一般看什么网站国内最新十大新闻
  • 重型机械网站开发模版百度官网下载安装
  • 网站建设租用服务器福州百度关键词优化
  • 商务网站建设的流程百度广告平台电话
  • 樟木头网站网络推广合作资源平台
  • 一条龙网站建设哪家好百度推广seo