单页面应用手动改变地址栏路径对应用的影响

1 篇文章 0 订阅
1 篇文章 0 订阅

在react vue等框架构筑的单应用当中改变地址栏路径分为两类情况

1.地址栏hash部分的地址变动,不会导致浏览器像服务器重新发起请求,从而不会重新加载整个单页面应用的脚本。

2.history类型路由单页面应用中,在浏览器中手动对路径的改变会导致浏览器重新向服务器发送请求,有缓存的就从缓存重新加载脚本,没有缓存就从服务器请求相应的脚本加载。

例如浏览器中的地址栏原本地址是

localhost/myApp/login

改动后变为

localhost/myApp/userDetai

这种路径改动就会导致脚本的重新加载。

但是在应用中通过应用的路由导航到新的地址是不会导致脚本加载的,只有手动改变(点击前进,后退按钮也算手动改变)导航地址才会导致整个单页面应用的脚本重新加载。

影响

因为history模式手动改变地址栏路径就会重新加载整个应用脚本,所以在一些页面需要通过脚本全局变量来共享状态的方式就会在手动改变地址后导致全局变量失效,从而无法实现。所以这个时候就要把全局的状态变量存储在localStorage等的浏览器本地存储当中。

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值