仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 553|回复: 8
打印 上一主题 下一主题

[学习教程] ASP网站制作之多种屏障扫瞄器的前进按钮的办法

[复制链接]
再现理想 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:16:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。按钮|扫瞄器Ihavehadalotofpeopleask,"HowtoIdisable?thebackbutton?"or,"HowdoIpreventauserfrom
clickingthebackbuttonandgoingbacktothepreviousscreen?"Infact,thisisoneofthemostcommonly
askedquestionsontheASPMessageboardand,sadly,theanswerisquitesimple:YouCANNOTdisabletheback
buttonofthebrowser.

InitiallyIcouldnotfigurewhyanyonewouldwantorneedtodothat.Thenitstruckmeastowhysomany
peoplewouldwanttodisablethebackbutton.(Nottheforwardbuttonmindyouonlythebackbutton.)When
ausersubmitsanapplicationandthengoesback"usingthebackbutton"tomakeachangeinsteadof
clickingon"Edit,"anewrecordwillbeinserted?wedontwantthat,nowdowe?Againiftheuser
finishedapageandthenwentbacktothatpageandcontinuedtomakechangesandsavedthemwewouldnot
wantthateither.

SoIdecidedtofigureawayorwaystopreventthisscenario.Istarteddoingabitofresearchallover
theNetgoingintovarioussitessobasicallythisarticlewillhavealotofstuffyoumighthavealready
readifyoulookedontheNet.Iamjusttryingtoputitallinoneplaceandfindthe"best"wayof
doingit!

OneofthemanysuggestionsIgotwastopreventthepagefrombeingcached.Thiscanbedonewithserver-
sidescript:

<%
Response.Buffer=True
Response.ExpiresAbsolute=Now()-1
Response.Expires=0
Response.CacheControl="no-cache"
%>



Thismethodworksgreat!Itforcesthebrowsertogototheservertogetthepageinsteadoffromits
cache.WhatyouwillwanttodoiscreateaSession-levelvariablethatdetermineswhetherornotauser
canstill"view"thepagethatyoudonotwanttolettheusernavigatebackto.Sincethepageisnot
beingcachedonthebrowser,thepagewillbereloadedwhentheuserhitsthebackbutton,andyoucan
checkforthatsession-levelvariabletoseeiftheusercanviewthispageornot.

Forexample,wecouldcreateaformlikeso:

<%
Response.Buffer=True
Response.ExpiresAbsolute=Now()-1
Response.Expires=0
Response.CacheControl="no-cache"

IfLen(Session("FirstTimeToPage"))>0then
Theuserhascomebacktothispageafterhavingvisited
it...wipeoutthesessionvariableandredirectthemback
totheloginpage
Session("FirstTimeToPage")=""
Response.Redirect"/Bar.asp"
Response.End
EndIf

Ifwereachhere,theusercanviewthepage,createtheform
%>

<formmethod=postaction="SomePage.asp">
<inputtype=submit>
</form>



NotethatweareusingaSessionvariable(FirstTimeToPage)tochecktoseeifthisistheusersfirst
visittothisparticularpage.Ifitisnt(thatis,ifSession("FirstTimeToPage")containsanyvalue),
thenweclearoutthesessionvariableandredirecttheuserbacktosomestartingpage.Now,whenthe
formissubmitted(andSomePage.aspisloaded),wemustsetthesessionvariableFirstTimeToPagetosome
value.So...inSomePage.aspwedneedcodelike:

Session("FirstTimeToPage")="NO"


Then,iftheuser,onSomePage.asp,hitsthebackbutton,thebrowserwillrequerytheWebserver,see
thatSession("FirstTimeToPage")containssomevalue,clearSession("FirstTimeToPage"),andredirectthe
usertosomepage.Allofthishinges,ofcourse,onthefactthattheuserhascookiesenabled,else
sessionvariableswontwork!(Formoreinformationonthissubject,besuretocheckouttheFAQ:For
sessionvariablestowork,musttheWebvisitorhavecookiesenabled?)

Youcanalsouseclient-sidecodetoforcetheusersbrowsertonotcacheaWebpage.

<html>
<head>
<metahttp-equiv="Expires"CONTENT="0">
<metahttp-equiv="Cache-Control"CONTENT="no-cache">
<metahttp-equiv="Pragma"CONTENT="no-cache">
</head>



Thereareacouplethingstokeepinmindwhenusingtheabovemethodtoforceabrowsertonotcachea
Webpage:


Pragma:no-cachepreventscachingonlywhenusedoverasecureconnection.APragma:no-cacheMETAtagis
treatediden</p>当然了,现在国内CRM厂商的产品与其说是CRM,但从至少从我的角度分析上来看,充其量只是一个大型的进销存而已了,了解尚浅,不够胆详评,这里只提技术问题
精灵巫婆 该用户已被删除
沙发
发表于 2015-1-20 08:47:55 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
柔情似水 该用户已被删除
板凳
发表于 2015-1-24 12:04:23 | 只看该作者
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
爱飞 该用户已被删除
地板
发表于 2015-1-31 20:33:52 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
小魔女 该用户已被删除
5#
发表于 2015-2-6 22:18:49 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
第二个灵魂 该用户已被删除
6#
发表于 2015-2-18 22:40:45 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
冷月葬花魂 该用户已被删除
7#
发表于 2015-3-6 11:16:49 | 只看该作者
我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。
深爱那片海 该用户已被删除
8#
发表于 2015-3-13 00:09:38 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
不帅 该用户已被删除
9#
发表于 2015-3-20 06:49:50 | 只看该作者
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 10:53

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表