目录

  • 1、单页面应用(SPA)的概念:
  • 2、作用(好处)
  • 3、缺点
  • 4、实现SPA

1、单页面应用(SPA)的概念:

1、single-page application是一种特殊的Web应用。它将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HTML、JavaScript、CSS。一旦页面加载完成,SPA不会因为用户的操作而进行页面的重新加载或跳转,而是利用JavaScript动态的变换HTML(采用的是div切换显示和隐藏),从而实现UI与用户的交互。
2、简单来说SPA的网页只有一个页面,而这个网页的实际方式要能够回应使用者所使用的各种装置并且赋值使用者在电脑上使用软件的体验,让使用者可以更容易和有效的使用网站。按照正常情况下,我们会在一个页面中链接到其他的很多个页面,进行页面的跳转,但是如果使用单页面应用的话,我们始终在一个页面中,通常使用a标签的描点来实现。

2、作用(好处)

1、由于避免了页面的重新加载,SPA可以提供较为流畅的用户体验。得益于Ajax,可以实现无跳转刷新,由于与浏览器的history机制,可以使用hash的b变化从而可以实现推动界面变化。
2、只要使用支持HTML5和CSS3的浏览器就可以执行复杂的SPA,因此,开发人员不必为了写SPA网站而特别学习另一个开发方式,而使用者也不额外安装软件,所以,让开发SPA网页程序的入门和使用门槛降低不少。

3、缺点

以SPA方式开发的网站不容易管理也不够安全。
因为没了一页一页的网页给搜索引擎的爬虫来爬,所以,在搜索引擎最佳化(SEO)的工作上,需要花费额外的功夫。
因为没有换页,需要自定义状态来取代传统网页程序以网址来做判断。

4、实现SPA

技术:
1、处理#后面的字符
2、局部刷新

1、#后面的字符

后面的字符,其实是location对象的hash属性的值,即是说,我们可以轻松拿到这个#后面字符的变化值,代码如下:

var hash = location.hash;

既然值能拿到,就可以直接通过一个a标签跳转。

<a href="#luoxuan">罗旋</a>;
<a href="#xiexing">谢星</a>;
<a href="#luoli">罗粒</a>;
<a href="#luobo">罗卜</a>;

2、局部刷新(Ajax)

代码实现:

<script>window.addEventListener('haschange',function(){var hash  = document.location.hash;switch(hash){case '#luoxuan':$.ajax({url:'./json/luoxaun.json',success:function(){document.write("罗旋是小仙女!!!")}});break;case '#xiexing':$.ajax({url:'./json/xiexing.json',success:function(){document.write("谢星是个帅哥哥哦~~~")}});break;}})
</script>

转载于:https://www.cnblogs.com/hixxcom/p/7741689.html

对SPA(单页面应用)的总结相关推荐

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

    通过Blazor使用C#开发SPA单页面应用程序(1) 通过Blazor使用C#开发SPA单页面应用程序(2) 通过Blazor使用C#开发SPA单页面应用程序(3) 前面学习了Blazor的特点.环 ...

  2. [vue] SPA单页面的实现方式有哪些?

    [vue] SPA单页面的实现方式有哪些? 1.监听地址栏中hash变化驱动界面变化2.用pushsate记录浏览器的历史,驱动界面发送变化3.直接在界面用普通事件驱动界面变化它们都是遵循同一种原则: ...

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

    [vue] 说说你对SPA单页面的理解,它的优缺点分别是什么? 介绍:SPA应用就是一个web应用,可理解为:是一种只需要将单个页面加载到服务器之中的web应用程序.当浏览器向服务器发出第一个请求时, ...

  4. SPA单页面应用首屏加载速度提升方法

    SPA单页面应用首屏加载速度提升方法 首屏加载 计算首屏加载时间公式 解决方法 减少入口文件体积 静态资源本地缓存 UI框架按需加载 避免组件重复打包 图片资源压缩 开启GZip压缩 首屏加载 首屏加 ...

  5. (25):SPA单页面的理解

    对SPA单页面的理解,它的优缺点分别是什么,如何实现SPA应用 一.什么是SPA 1.SPA(single-page application),翻译过来就是单页应用 2.SPA是一种网络应用程序或网站 ...

  6. spa单页面应用html缓存问题

    一.背景 浏览器的http请求都有一个缓存机制,简单点说就是同路径同名文件会默认被缓存下来,提升下次访问时的速度,默认只有刷新页面或长时间未访问时才会刷新缓存. 而spa单页面应用是通过路由切换来访问 ...

  7. Java快速开发平台,JEECG 3.7.5 Vue SPA单页面应用版本发布

    JEECG 3.7.5 Vue SPA单页面应用版本发布 导读            ⊙ Vue+ElementUI SPA单页面应用 ⊙Datagrid标签快速切换BootstrapTable列表风 ...

  8. 当spa单页面应用遇上SEO,蛋痛的经历

    spa单页面应用优点当然毋庸置疑:效果酷炫,我在视觉和产品面前无从反驳:性能高速度快,全JS嘛当然快,我在运维和产品面前无言以对:运算分散,异步加载,又省硬件又省流量,我在开发和产品面前彻底投降:JS ...

  9. 通过Blazor使用C#开发SPA单页面应用程序(1)

    2019年9月23--25日 .NET Core 3.0即将在.NET Conf上发布! .NET Core的发布及成熟重燃了.net程序员的热情和希望,一些.net大咖也在积极的为推动.NET Co ...

  10. SPA(单页面应用)和MPA(多页面应用)

    单页面应用 第一次进入页面时会请求一个html文件,刷新清除一下,切换到其他组件,此时路径也相应变化,但是并没有新的html文件请求,页面内容却变化了. 原理:js会感知到url的变化,通过这一点可以 ...

最新文章

  1. SAP S/4HANA现金管理之变
  2. html动态报警图片,报警记录.html
  3. python学习:time、unixtime、string的转换
  4. C#泛型对类型参数的推断
  5. 以太网Ethernet解码概述
  6. a标签缺少href 属性,鼠标经过不会出现手型
  7. 英语c开头语言,字母c开头的英语短语
  8. 再说人行分数解读分的作用
  9. 怎么自己制作一个U盘
  10. 《Python 100例》练习,基于Python 3.5做了一遍
  11. 斯坦福NLP名课带学详解 | CS224n 第7讲 - 梯度消失问题与RNN变种(NLP通关指南·完结)
  12. 女性游戏市场崛起,B站能否能否抓住风口打造下一个FGO?
  13. .NET pfx文件解析私钥和公钥
  14. ubuntu 22.04设置字体为Garuda(mac字体Lucida Grande的开源替代)
  15. calcite parser
  16. java中工具插件列表
  17. 求∑(k=1~100)k+∑(k=1~50)k2+∑(k=1~10)
  18. 适当时公布?新西兰会否重启父母团聚移民引关注
  19. 【Codeforces Round #565 (Div. 3) A B C D E F】解题报告
  20. C++通过字符串指针打印字符串

热门文章

  1. Debian 系统安装 Nagios 服务器监控端
  2. Zend Server更新至6.2版本——虚拟主机全方位管理
  3. C#获取屏幕分辨率(大小)
  4. 【代码真相】之 开篇
  5. [BTS06]BizTalk2006 SDK阅读笔记(一) 角色
  6. c#扫描图片去黑边(扫描仪去黑边)
  7. CentOS7 linux下yum安装redis以及使用
  8. datatables.js 简单使用--多选框和服务器端分页
  9. 洛谷P1828 香甜的黄油 Sweet Butter
  10. Microsoft Deployment Toolkit 2010 新功能实战之一