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

东营做网站优化价格企业网站开发一般多少钱

东营做网站优化价格,企业网站开发一般多少钱,wordpress 简历,查企业资质上什么网站背景 近期有个微信小程序需要用到web-view嵌套H5的场景#xff0c;该应用场景需要小程序中频繁传递数据到H5进行渲染#xff0c;且需要保证页面不刷新。 由于微信小程序与H5之间的通信限制比较大#xff0c;显然无法满足于我的业务场景 探索 由于微信小程序与webview的环境是…背景 近期有个微信小程序需要用到web-view嵌套H5的场景该应用场景需要小程序中频繁传递数据到H5进行渲染且需要保证页面不刷新。 由于微信小程序与H5之间的通信限制比较大显然无法满足于我的业务场景 探索 由于微信小程序与webview的环境是完全隔离的且没有突破的地方只能将关键点放在已开放的方式上来中间有利用公共存储空间cookie、SessionStorage和LocalStorage但是很遗憾无法突破后面也采用websocket利用服务器来进行双向交互但是由于网络的不稳定性导致数据可能会有一定的延迟。 思路 既然小程序只能通过改变url链接来向H5传递参数那么我就动态改变url来传递即可但是还需要解决的问题是一旦改变url页面会重新加载这个是不能接受的。 路由的hash模式正好可以做到这一点那么我们通过动态改变url的hash值H5页面监听hash值的变化就能完美解决该问题了话不多说直接开干。 实战 小程序 web-view代码 web-view src{{url}}{{hashStr}}/web-view 小程序js代码代码通过setInterval模拟实时传递不同参数到H5 Component({data: {url: http://127.0.0.1:8080/home?typewx,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.pathfrom.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://www.zqtcl.cn/news/287393/

相关文章:

  • 高端网站设计公司排名邢台哪里有做网站的
  • 广州网站开发 英诺科技营销式网站建设
  • 网站存在的缺陷编程的基础知识
  • flash同视频做网站天津建设工程信息网投标信息系统
  • 湛江做网站开发手机网址大全主页网址
  • 平面网站设计如何租用网站服务器
  • 课程视频网站建设的必要性专利减缓在哪个网站上做
  • 正规品牌网站设计品牌网站建设开发 脚本语言
  • 潍坊模板建站定制网站规划管理部门的网站建设
  • 光明楼网站建设九一人才网赣州招聘官网
  • 如何做网站监控wordpress修改文章点赞数
  • 佛山高端网站建设报价网站的建设属于无形资产
  • 永川网站设计wordpress+用户前台
  • 晋城客运东站网站开发公司装修通知告示怎么写
  • 北京做手机网站的公司哪家好完整的网站开发
  • 建立网站的内容规划长沙网络推广哪家
  • 网站建设及优化教程百度网站优化排名
  • 医院网站推广渠道网站关键词排名不稳定
  • 类网站建设陕西省建设资格注册中心网站
  • 网站横幅图片网页设计怎么创建站点
  • 网站建设页面设计图片开个送快餐网站怎么做
  • 北京免费网站建设模板下载南江县建设局网站
  • 温岭手机网站建设义乌市网站建设
  • 西安网站制作费用哪家装修公司比较好的
  • 硅谷网站开发薪酬wordpress热门吗
  • 红酒营销型网站建设天一建设网站
  • 做网站建设公司哪家好安徽省住房建设部官方网站
  • 网站被黑咋样的柳州正规网站制作公司哪家好
  • 莱芜网站开发代理四川网络推广服务
  • 应该知道的网站网站全网建设莱芜