思诚科技 seecen LOGO
咨询热线:0791-87557233
  首页 |   Java EE  
关于思诚
关注官方微信

开发保留标准浏览器功能的AJAX应用程序

来源:网络    更新时间:2014-12-2


  Ajax应用程序由于其丰富的功能、交互性以及快速的响应能力而得到人们的普遍赞许。它可以使用XMLHttpRequest对象动态地加载数据,而不是加载新的页面。在它大肆进行宣传以及许多人兴奋的同时,有评论指出,Ajax应用程序丢失了浏览器的一些重要功能,包括对后退前进按钮的支持。

  本文将首先阐明为什么在Ajax应用程序中除非显式地构建后退/前进按钮以及其它浏览器功能,否则它们将无法运行的原因。然后,我们将简要介绍开发人员如何解决这些问题。最后,我们将看到有关BackbaseAjax引擎如何支持后退/前进按钮以及其它标准浏览器功能的详细情况。

  Ajax应用程序是否需要后退按钮?

  Ajax承诺,可以让开发人员完全基于标准的Web浏览器技术(通常是指DHTML)创建在视觉上吸引人的、高度交互式的Web应用程序。

  以前开发人员不得不在功能丰富(具有高度交互性的、吸引人的用户界面)和易于到达(不需要进行客户端安装就可以工作在所有Web浏览器下的前端)二者之中作出选择。而Ajax应用程序应该能够产生既“功能丰富”又“易于到达”的前端。

  但是一个界面怎样才算是“功能丰富”的,而一个应用程序又怎样才是“易于到达”的呢?

  很难精确地定义“功能丰富”的含义,但是却很容易直觉地认识到:当您看到一个界面时,您就会知道它是不是功能丰富的。象MicrosoftOffice之类的桌面应用程序就是功能丰富的。功能丰富的界面使用诸如选项卡和上下文菜单这样的高级UI控件。这样的界面提供一些高级交互方法。例如,拖放、对关注的UI元素进行高亮显示等。传统的浏览器应用程序是功能不丰富的。它们仅限于诸如表单之类的简单控件,交互主要是由到新页面的单击链接组成。我们只要看看微软的电子邮件客户端就可以看出功能丰富和功能不丰富的区别:OutLook是功能丰富的,而Hotmail就是功能不丰富的。

  Ajax应用程序已经由于功能丰富而得到人们的普遍赞许。Google的Gmail就是其中最具代表性的例子。Google所开发的其它Ajax应用程序(GoogleSuggest、GoogleMap)、微软即将推出的名为“Kahuna”的Web邮件客户端以及BackbaseRSSReader都包含了一些高级控件和交互模块。

  通过前面的讨论,可以说Ajax应用程序很明显满足“功能丰富”的标准。那么它是不是“易于到达”的呢?

  首先,最基本的是,只有界面在Web浏览器中运行的应用程序才是“易于到达”的。Ajax应用程序是基于浏览器标准的,因此可以通过Web浏览器来访问。

  但是,仅仅可以通过Web浏览器访问还不够。终端用户希望在使用Web应用程序时所面对的是特定的交互方式。应用程序需要遵从传统的Web交互方式,并提供以下的可用功能:
后退和前进按钮可以正常工作,以便终端用户可以导航到历史记录页面。用户应该可以创建书签。支持深链接,以保证终端用户可以将这个页面通过电子邮件发送给朋友和同事。刷新按钮可以正常工作,以便刷新当前的状态而不是重新初始化应用程序。开发人员可以使用“查看源文件”看到源代码。终端用户可以使用“查找”对页面进行搜索。搜索引擎可以为页面做索引并创建到搜索项的深链接。
  以前讨论的大多数Ajax应用程序的确打破了标准的Web交互方式。在下一节中,我们将讨论为什么许多Ajax应用程序会这么做。

  为什么Ajax应用程序常常会使后退按钮无法正常工作?

  我们所说的Web基于以下三个原则:
使用(D)HTML来定义界面使用HTTP实现客户端与服务器间的通讯使用URI进行寻址
  Ajax编程突破了由以上原则所带来的种种限制,使得界面功能更加丰富。Ajax广泛使用了JavaScript(“J”)以创建功能丰富的UI组件和交互性。Ajax还引入了异步的XML通信(“A”和“X”),也就是使用XMLHttpRequest对象导入新的数据和表示逻辑而不必刷新页面。然而,目前的Ajax模型并没有解决如何处理URI的问题。

  • 上一篇文章:

  • 下一篇文章:
  •  

    0791-87557233

    重视每个来电 珍惜您的时间
    思诚者开发沙龙
    江西思诚科技有限公司  赣ICP备17006097号  CopyRight©2014 - 2018