|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
c++是语言,其实C++和java的应用范围根本就不一样的。在java应用的领域内,c++是不合适的。所以微软才搞了C#和Java对抗。本篇文章供应了一个开源JavaScript库,它供应了给AJAX使用程序中增加书签和会退按钮的功效。在进修完这个教程后,开辟者将可以对开辟AJAX使用碰着的成绩取得一个办理计划,这个特征乃至GoogleMaps和Gmail如今都不供应:供应一个壮大的,可用的书签和行进回退按钮,好像其他的WEB使用一样的举动。
AJAX“怎样处置书签和回退按钮”论述了AJAX使用程序开辟书签和回退按钮功效碰着的严峻的成绩;能够办理以上成绩的一个开源框架,并供应实在、复杂的汗青纪录库,还供应了几个运转中的例子。
本文把这个框架供应的主要发明分两个部分来讲明:起首,一个埋没的HTML表单用来缓存大批长久的在客户端信息。这些缓存为网页导航供应了壮大的撑持。其次,一个埋没的IFrame和超等链接用来截取和纪录扫瞄器的汗青事务供应回退按钮和向前按钮的撑持。以上两个手艺都是经由过程包装在一个复杂的JavaScript库中来完成复杂开辟。
成绩:书签和回退按钮在传统的多页面的Web使用程序中事情的十分好。当用户扫瞄网站的时分,扫瞄器的地点栏纪录随新的URLs更新,这些纪录能够拷贝到email大概书签中供今后利用。回退和行进按钮能够匡助用户在他扫瞄过的网页中向前或向后翻动。
AJAX使用程序倒是分歧的,他们是运转在一个网页中的庞大程序。扫瞄器并非为这类程序制造的———这类程序是已往的,在每次鼠标点击的时分必要从头革新全部页面。
在相似Gmail的AJAX软件中,扫瞄器的地点栏在用户选择功效和改动程序形态的时分坚持稳定,这让书签在这类程序中没法利用。将来,假如用户按下“回退”按钮来打消前次的举措,而扫瞄器和使用程序分别的情况会让用户很受惊。
办理计划:开源ReallySimplyHistory(RSH)框架能够用来办理下面的成绩,为AJAX使用程序供应书签和把持“回退”、“向前”按钮的功效。RSH今朝仍是Beta形态,能够在Firefox1.0,Netscape7+,InternetExplorer6+等扫瞄器上事情,今朝还不撑持Safari扫瞄器。能够参考:编码地狱:Safari:不成能的DHTML汗青纪录。
有几类AJAX框架今朝也撑持书签和汗青会见的成绩,但这些框架由于完成体例的分歧,今朝都有几个年夜Bug。将来,良多AJAX框架,好比Backbase和Dojo将会整合汗青扫瞄的功效;这些框架为AJAX使用程序接纳完整分歧的编程模子,强制程序员利用完整分歧的体例来完成汗青扫瞄的功效。
相反,RSH是一个能够包括在现有AJAX体系的单模块。将来,RSH库会进一步改善制止和其他框架的相干功效抵触。
RSH汗青框架由两个JavaScript类构成:DhtmlHistory和HistoryStorage。
DhtmlHistory类为AJAX使用程序供应汗青扫瞄纪录的笼统。AJAX页面add()汗青扫瞄纪录事务到扫瞄器,保留指定新的地点和相干的汗青数据。DhtmlHistory类利用Hash毗连更新扫瞄器以后的URL,好比:#new-location,同时把汗青数据和新的URL联系关系。AJAX使用程序把本人注册为汗青扫瞄的监听器,当用户利用“行进”“回退”按钮来扫瞄时,汗青扫瞄工夫被触发,挪用add()办法来供应给扫瞄器新的地点,并保留汗青数据。
第二个类:HistoryStorage同意程序员保留恣意的汗青扫瞄数据。在一般的网页中,当用户扫瞄到一个新的网址,扫瞄器卸载并扫除以后网页一切的程序和JavaScript形态,假如用户前往时,一切的数据都丧失了。HsitoryStorage类供应带有Hash表的API经由过程put(),get(),hasKey() 等办法来办理这类成绩。下面的办法同意程序员保留用户分开网页时的恣意数据,当用户按“回退”按钮从头前往时,汗青数据能够经由过程HistoryStorage类来会见。我们后来经由过程利用埋没的表单字段来完成,由于扫瞄器主动保留一个表单中字段值,乃至用户分开网页的时分也云云。
例子:先从一个复杂的例子入手下手吧:
起首,必要RSH框架的网页中必要包括dhtmlHistory.js教本:
以下为援用的内容:
src="../../framework/dhtmlHistory.js">DHTML汗青使用程序必需在同级目次下包括blank.html文件。这个文件主动被RSH框架绑定必要被IE扫瞄器利用。正如方才提到的,RSH利用一个埋没的Iframe来保留和增添IE扫瞄器的改动。这个Iframe必要指定一个实践的文件地位才干一般事情,这就是blank.html。
RSH框架创立了一个叫dhtmlHistory的全局工具,这是把持扫瞄器汗青扫瞄纪录的出口点。第一步在网页完成装载后必要初始化dhtmlHistory工具。
<p>以下为援用的内容:
window.onload=initialize;
functioninitialize(){
//initializetheDHTMLHistory
//framework
dhtmlHistory.initialize();共2页:上一页1[2]下一页
一个很大的类库。应用程序之所以难以跨平台,在于直接调用了特定平台的接口,而一个巨大的类库,就能极大地减少应用程序对平台的依赖。 |
|