`
Funine
  • 浏览: 13434 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

对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>
分享到:
评论

相关推荐

    web前端单页面应用

    **单页面应用(SPA)详解** 单页面应用(Single Page Application,简称SPA)是一种现代的Web应用程序设计模式,它在用户与网站交互时无需加载整个新页面,而是仅更新部分DOM(文档对象模型)来刷新视图。这种设计...

    mui单页面应用框架(含demo)

    **MUI单页面应用框架详解...总结来说,MUI单页面应用框架结合了MUI的高效组件和SPA的优势,为开发者提供了一种构建高性能移动Web应用的解决方案。通过学习和实践,开发者可以熟练掌握MUI框架,创造出更优秀的移动应用。

    angular实现spa单页面应用实例

    Angular 实现 SPA 单页面应用实例详解 在本篇文章中,我们将详细介绍如何使用 Angular 实现 SPA 单页面应用实例。SPAingle Page Application),是一种特殊的 Web 应用程序,它可以在不重新加载整个页面的情况下,...

    基于vue2vuexmintui构建一个单页面应用

    在本文中,我们将深入探讨如何使用Vue2、Vuex和Mint-UI构建一个功能完备的单页面应用程序(SPA)。Vue.js是一个轻量级、高性能的前端JavaScript框架,Vuex是一个专为Vue.js应用程序设计的状态管理模式,而Mint-UI则...

    Angularjs+Require单页面应用程序

    总结起来,AngularJS + RequireJS 的组合使得单页面应用程序更易于开发、维护和扩展,提高了代码的可读性和可维护性。通过合理的架构设计和实践,你可以构建出高效、可复用的前端应用。在学习和使用这个实例时,深入...

    人工智能-项目实践-搜索引擎-Single Page Application SEO 单页面应用搜索引擎优化

    单页面应用(SPA)在现代Web开发中非常流行,它们提供了流畅的用户体验,但SEO(搜索引擎优化)成为了挑战。搜索引擎的爬虫主要通过链接遍历网页来理解网站内容,而SPA大多数交互发生在JavaScript中,这使得爬虫难以...

    单页面应用容器,netcore前后端分离,前端快速部署&回滚.zip

    总结来说,"单页面应用容器,netcore前后端分离,前端快速部署&回滚"这个主题涵盖了现代Web开发中的关键技术和实践,包括使用SPA提升用户体验,利用.NET Core实现高效后端服务,以及利用持续集成和版本控制实现快速...

    简单后台单页面管理模板

    【绿色工作信息考核管理模板】是一款适用于轻量级后台管理的单页面应用模板,主要针对那些对后台界面设计要求不那么复杂,但又需要高效、直观的管理工具的用户。这款模板以其简洁的设计和易用的功能,为日常的信息...

    前端项目-single-spa.zip

    **单页面应用(Single-Page Application, SPA)详解** 单页面应用是一种现代Web开发模式,它改变了传统多页面网站的加载方式。在SPA中,整个应用程序加载到浏览器中,然后通过Ajax或其他异步技术动态更新内容,而...

    单页面扒手

    首先,我们要理解什么是单页面应用(Single-Page Application, SPA)。SPA是一种Web应用开发模式,用户在浏览过程中,页面内容动态更新,而无需重新加载整个网页。这种模式提高了用户体验,但也带来了对特定内容获取...

    Vue构建交互式的单页面应用程序Vue构建交互式的单页面应用程序

    Vue.js是一种流行的JavaScript前端框架,专为构建交互式的单页面应用程序(SPA)和可复用的UI组件而设计。作为一种轻量级框架,Vue.js可以与其他库或现有项目无缝集成,非常适合快速开发现代化的Web应用程序。 #### ...

    SPA WEB

    总结来说,SPA WEB是一个关于使用现代Web技术构建单页面应用程序的主题,涵盖了前端框架的使用、源码分析、开发工具的介绍,以及可能的一个实际SPA项目案例。学习这部分内容有助于开发者掌握高效、响应式的Web应用...

    Angularseed一组开发单页面应用程序的最佳实践

    AngularJS是一款由Google维护的开源JavaScript框架,用于构建动态、交互式的Web应用程序,特别适合开发单页面应用程序(Single-Page Applications, SPA)。"Angularseed" 是一个官方提供的项目模板,它为开发者提供...

    单页面的js文件动态加载组件

    在现代Web开发中,单页面应用(Single Page Application, SPA)越来越常见,它们通常需要大量JavaScript文件来构建复杂的用户界面和交互。为了提高用户体验并优化性能,开发者常常采用js文件动态加载策略,而不是一...

    单页面后台管理html模板

    1. **单页面应用(SPA)原理**: 单页面应用的核心是利用Ajax技术实现页面的无刷新更新。用户在页面上的所有操作,如点击导航、提交表单等,都通过JavaScript处理,避免了传统HTTP请求导致的页面跳转,提高了应用的...

    单页面内导航及内容切换helloworld.zip

    在IT行业中,单页面应用程序(Single-Page Application, SPA)是一种常见的网页应用设计模式,它通过在后台加载数据并更新DOM(文档对象模型)来实现页面的无刷新切换,从而提供更加流畅的用户体验。本项目"单页面内...

    面向SPA与Hybrid应用的前端工程体系与实践经验.pdf

    ### 面向SPA与Hybrid应用的前端工程体系与实践经验 #### 一、概述 在当前快速发展的互联网行业中,单页应用(SPA, Single Page Application)与混合应用(Hybrid App)成为移动互联网时代的重要组成部分。这两种应用...

    多页vue应用的单页面打包方法(内含打包模式的应用)

    Vue CLI默认支持单页面应用(SPA)的打包,但对于多页应用(MPA),我们需要在`vue.config.js`中配置`pages`字段,列出所有页面的入口文件。例如: ```javascript module.exports = { pages: { page1: './src/...

    Vue仿写字节跳动招聘网站的单页面应用,仅作为学习使用。.zip

    本项目是基于Vue.js框架构建的一个单页面应用(SPA),其目标是模仿字节跳动公司的招聘网站。Vue.js是一款轻量级的前端JavaScript框架,以其组件化、易上手和高性能的特点在开发界广受欢迎。通过这个项目,开发者...

Global site tag (gtag.js) - Google Analytics