SPA 单页面应用程序。

  看到这个问题,先说下自己的理解到的程度,再去参考做修正,争取这一次弄懂搞清楚

  自己的理解: 单页面应用程序,解决浏览器获取数据刷新页面的尴尬,通过ajax请求获取数据达到异步更新视图的按钮,原理的实现由两种,

  其一,通过hash值的变化,绑定onhashchange的回调函数更新视图,因为hash值的变化不会让页面失去响应,不会向服务器发送请求。下面列出几种可能改变hash值的方法,改变url中的hash。浏览器回退按钮可能出现历史记录中的url包含的hash值不一样,都将触发该事件;还有触发带瑁点的链接改变,再通过js直接获取location.hash来改变导致事件触发。

  其二,通过同H5 historyAPI 来添加向浏览器的历史栈中添加记录。过去的方法只有通过back,forward,go三个方法来实现前进后退和跳转。到H5多了pushState,replaceState方法。pushState只是单纯的添加并不跳转到该记录,而replaceState,替换记录整个历史记录的length长度不变化。 hitstory.pushState(data,title,url),向url里写入第一个参数数据,并指定title的值。执行完历史栈中添加了一条记录,通过执行一次popstate事件其中popstate用来监听历史记录的变化,可以理解为监听浏览器后退、前进的操作。绑定onpopstate事件后执行location.reload(); 因为兼容性问题,History.js用于修补。

原文地址:https://www.cnblogs.com/blackcoding/p/9741988.html

时间: 2024-10-10 22:32:51

SPA 单页面应用程序。的相关文章

通过Blazor使用C#开发SPA单页面应用程序(4) - Ant Design Button

前面学习了Blazor的特点.环境搭建及基础知识,现在我们尝试的做个实际的组件. Ant Design是蚂蚁金服是基于Ant Design设计体系的 UI 组件库,主要用于研发企业级中后台产品.目前官方是基于React和Angular实现的,今年也推出了Vue的实现.其组件涵盖面较广,其组件风格及交互效果还是比较惊艳的,后面准备利用Ant Design的样式文件利用Blazor模仿几个组件的实现. 由于也是新学的Blazor开发,可能实现的方式有些笨拙,希望高手提出宝贵意见,先看看实现的Butt

【Web API系列教材】1.3 — 实战:用ASP.NET Web API和Angular.js创建单页面应用程序(下)

练习2:创建SPA界面 在本练习中,你将首先创建Geek Quiz的web前端,使用AngularJS专注于单页面应用程序的交互.然后你将使用CSS3来执行丰富的动画和提供一个当从一个问题转换到另一个问题时切换上下文的可视化效果以加强用户体验. 任务1:使用AngularJS来创建SPA界面 在本任务中,你将使用AngularJS来实现Geek Quiz应用程序的客户端.AngularJS是一个开源的JavaScript框架,它能够搭配MVC以加强基于浏览器的应用程序,使其对于开发和测试都更加便

Oracle JET 单页面应用程序Router 使用(上)

单页面应用程序:使用一个进加载一次的网页,如果页面由于用户的交互而改变,则仅绘制更改的页面部分. 要创建单页面应用程序需要使用 oj.Router 的虚拟导航来支持,ojModule 用来响应页面的重新绘制. ojModule 仅用于分离的 view 和 viewMode ,使之与页面通过 Knockout绑定.另外,ojModule 可选,当不使用分离视图与模型时,可直接在元素上响应变化. 1.简单模型: 当选择 Chapter1 或其他时,将显示新内容,并且URL更改以反映用户在页面上当前的

SPA单页面应用router实现

spa 单页面router 主要可以基于两种方式实现:修改哈希和直接修改url 1.根据在使用location 修改哈希的时候,页面不会刷新(angular1.x 路由采用) 2.根据h5 pushState 和replaceState 修改url 时,页面不会刷新(react-router.vue-router) pushState/replaceState 执行时,url 会发生变化,但是浏览器并不会刷新,只有当前进或者后退触发时,页面才会刷新 pushState/replaceState

快速了解SPA单页面应用

简要 SPA单页网页应用程序这个概念并不算新,早在2003年就已经有在讨论这个概念了,不过,单页应用这个词是到了2005年才有人提出使用,SPA的概念就和它的名字一样显而易懂,就是整个网站不再像传统的HTML网页一样,需要每做一个动作就更新一次网页,而是像传统的电脑软件一样,只变更显示的内容而不需变更整个网页!概念很简单,但是,事实上却有不少的问题要考虑. 理解单页面应用 简单来说SPA的网页只会有一个网页,而这个网页的设计方式要能够回应使用者所使用的各种装置并且复制使用者在电脑上使用软件的经验

Vue系列(1):单页面应用程序

前言:关于页面上的知识点,如有侵权,请看 这里 . 关键词:SPA.单个 HTML 文件.全靠 JS 操作.Virtual DOM.hash/history api 路由跳转.ajax 响应.按需加载.MVVM SPA 我们先来看一下在百科上面的解释吧,emmmm,一般呢,我每次搜索一些不懂的词,都会习惯先去看百科里面的解释,反正我从来都不奢望能看懂,只是指望有个大概的框架的,哈哈~ "单页面应用(SPA:single-page application),就是只有一张Web页面的应用,是加载单个

spa单页面应用(angular)

本篇文章是对单页面的一个简单的基本逻辑操作,这个方法可以搭建基本的单页面的逻辑结构. 简单理解:单页面应用,锚点值切换,一个路由对应一个页面. 路由:此时会创建一个信息保存路由的信息,之后对页面a标签进行操作,会进入路由表中查找与之匹配的路由信息. ----html <div> <a href='#/news'>跳转到news</a> <a href='#/share'>跳转到share</a> <router-view></r

说说你对 SPA 单页面的理解,它的优缺点分别是什么?

SPA( single-page application )仅在 Web 页面初始化时加载相应的 HTML.JavaScript 和 CSS. 一旦页> 面加载完成,SPA 不会因为用户的操作而进行页面的重新加载或跳转: 取而代之的是利用路由机制实现 > HTML 内容的变换,UI 与用户的交互,避免页面的重新加载. 优点:用户体验好.快,内容的改变不需要重新加载整个页面,避免了不必要的跳转和重复渲染:基于上面一点,SPA 相对对服务器压力小:前后端职责分离,架构清晰,前端进行交互逻辑,后端负

SPA单页面优缺点

优点: 1.体验好,不刷新,减少 请求  数据ajax异步获取 页面流程: 2.前后端分离 3.减轻服务端压力 4.共用一套后端程序代码,设配多端 缺点: 1.首屏加载过慢: 2.SEO 不利于搜索引擎抓取 2解决办法:VUE  SSR  只是解决SEO问题: 1解决方法:路由图片.懒加载.js按需加载.使用cdn.js放在body后边.压缩代码.移除console .debugger; 异步组件(const  aa=resolve =>require(['../xxx/xx']),resolv