|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
国内有些大的CRM厂商的ASP就写得不错.无论是概念还是它里面用JAVASCRIPT的能力.并不是说现在的程序员用了ASP.NET来写程序就可以说自己高档了 为Web站点增加拼写反省功效
很多开辟者都提出“怎样对用户输出的内容举行拼写反省”的成绩,这篇文章恰好供应了一个有效的办法,会商怎样利用XDE拼写反省组件,它既能够看成拼写反省器,同时也能够做完一个字典。关于这个组件的一个好动静是:它可以在服务器端利用,大概做为一个JavaApplet。可是有一点,这些便利的地方不是收费的,它要消费约莫100美圆。但是,该组件供应了一个30天无偿使用评价版本,以是在真正决意购置前,你能够细心举行测试,仔细思索是不是满意必要。
起首,会见http://mirrordns.com/download/站点,输出一些信息(名字、电子邮件,等等),下载并安装这个组件。下一步,从可供下载的XDE浩瀚组件当选择“QuickSpellCheckFullInstall”项目举行下载。下载终了后,举行安装。在安装程序停止前,呈现一个注册挂号菜单,这时候,复杂地选择默许选择“EvaluationPeriod”。
注重,如今的程序仍是BETA版本。假如你不但愿产生潜伏的毛病,我倡议品级一个正式版本出来后再下载举行实验。我已发明了现有版本的一些毛病。你要记着:这是一个BETA版本,不要在正式站点上使用。
接着,筹办注册挂号组件。如今决意一下你是不是想要包括Word97的字典和辞书功效,假如必要,请先在Web服务器上安装Word97大概Word2000,然后参照http://mirrordns.com/spellchecker/server_installation.htm的申明实行一套特别的命令。假如不想利用全部Word97的字典,就象注册其他组件一样接着举行:
拷贝DLL文件SpellCheckServer.dll到Windows的System大概System32目次
利用regsvr32注册组件:regsvr32spellcheckserver.dll
如今安装完组件,能够在ASP代码中利用了。为了创立利用拼写反省工具的示例,仅仅复杂的编写上面的代码:
SetobjSpellCheck=Server.CreateObject("SpellCheck.ClsChecker")
如我后面提到的,这个组件供应了拼写反省和辞书的功效。起首,来看看怎样前往给订单词的一系列同义词。这要利用到LookupSynonym办法,该办法必要一个参数,就是必要寻觅同义词的单词。实行后,拼写反省工具搜集相干的单词到汇合工具SynonymWords。实行上面的代码祷亍Quick”单词的一切同义词:
<%
DimobjSpellChecker,iLoop
’CreateaninstanceoftheSpellChecker
SetobjSpellCheck=Server.CreateObject("SpellCheck.ClsChecker")
objSpellChecker.UseMSWord=False’We’renotusingMSWord
objSpellChecker.LookupSynonym"Quick"’Lookupthesynonymfor"quick"
’Loopthroughthereturnedwords:
Response.Write"Thefollowingsynonymsfor’Quick’exist:"
ForiLoop=1ToobjSpellChecker.SynonymWords("Quick").SuggestedWords.Count
Response.WriteobjSpellChecker.SynonymWords("Quick").SuggestedWords(iLoop).word
Response.Write""
Next
%>
在服务器端实行拼写反省关于代码布局长短常松散的,但以我只见,要发扬壮大的功效,必需依附Javaapplet情势的拼写反省。以下将重点会商怎样使用这类体例,关于在服务器端利用组件的办法,请拜见http://mirrordns.com/spellchecker/。
为了利用Javaapplet,必要将安装目次下的.class文件拷贝到一个web可会见目次。好比,这里将文件挪动到/spellcheck目次下。然后,创立一个表单,包括一个文本框大概文本域,个中是要举行拼写反省的内容。
<HTML>
<BODY>
<FORMNAME="frmSpellCheckExample">
<textareaname="JavaTextArea"rows="8"cols="50"><P>
<INPUTTYPE="button"value="StartSpellCheck">
接着,利用APPLET标志来援用Javaapplet:
<appletcodebase="/spellcheck/"code="SpellCheck.class"
height="1"name="spellcheck"width="1"
ALT="Appletnotdisplayed">
<paramname="foreground"value="FFFFFF">
<paramname="background"value="008080">
<paramname="label"value="ThisstringwaspassedfromtheHTMLhost.">
注重:在APPLET标志中的codebase参数指向.class文件地点的目次。
最初,在客户端利用一段JavaScript代码来组装applet参数:
<scriptlanguage="JavaScript">
functionSpellCheck(){
document.spellcheck.ptexttocheck=
document.frmSpellCheckExample.JavaTextArea.value;
document.spellcheck.doDlg();
if(document.spellcheck.fixedtext!=""){
document.frmSpellCheckExample.JavaTextArea.value=
document.spellcheck.fixedtext;
}
}
这就完成了!假如想更多地懂得怎样利用该组件和JavaApplet,必定来上面的中央看看:http://mirrordns.com/spellchecker/。
在Web上静态创建条形码
这篇文章会商的是怎样依据数据库的字段在web上静态地创建条形码的成绩,这在以下的情形下十分有效:用户输出信息到体系中,然后显现一个总结页面“这就是你所输出的”,这个页面能够被打印,并在日罂梢杂锰跣温虢懈佟?
完成这个功效的关头在于怎样将数值好比“ABC”翻译为条形码。这里我们利用“代码39”,关于它的具体情形,请参阅有关界说。我想将发生的条形码显现在web页面上,如许用户就可以打印包括条形码的这个页面,然后,再在图形体系的处置中利用它。很多用户都在体系中安装了“代码39”字体,以是我就可以够在页面中改动它,可是我不想依附它们。我想在页面中创建,而且自力于扫瞄器和盘算机。
我的办理办法是:为Code39中每个撑持的字符创立GIF图形文件。我利用MicrosoftPaint软件创立Code39字体巨细的文本框,然后为每个字符创建一个图形。接着,利用MicrosoftImageComposer将它们转换为GIF格局。最初,利用扫描软件反省这些字符,看看是不是能准确地注释。上面,你将看到A、B、C和星号(*)的条形码:
CodeforA
CodeforB
CodeforC
CodeforAsterisk
然后,为了在ASP页面中刻画数据库中数值的条形码,仅仅复杂地遍历BarCodeText变量字符串中的每个字符,然后创建"
Forx=1toLen(Trim(rst("BarCodeText")))
Response.Write""
假如在纪录集以后纪录中BarCodeText的数值是“ABC”,那末实行上述代码后,HTML的了局是:
<IMGSRC="http://www.webjx.com/htmldata/2005-12-11/http://www.webjx.com/htmldata/2005-12-11/asterisk.gif"WIDTH="30"HEIGHT="36">
然后,将显现以下图形:
如今,将该页面打印后,就能够被条形码扫描器所跟踪了。
有2点关于条形码的注重事项:不是一切的条形码都能撑持一切的字符集。Code39是很好并且很复杂的一种。它具有可变长度,撑持一切的年夜写字符、数字、星号和7个特别字符。关于每一个字符,它利用作风分歧的5线(2宽3窄)4空(指间隙,1宽3窄)情势。别的的字符集撑持更多的,利用分歧的解码计划。确认对每一个字符都创建了GIF图形文件,同时,你能够修正图形的宽度和高度属性,从而在页面上显现稍年夜的大概稍小的条形码。
别的,假如碰到特别的字符,下面的遍历轮回代码将不会事情,由于,不克不及将GIF文件定名为+.gif。这时候,就要编写一个承受字符Ascii数值的函数,然后利用CASE语句前往等价于文件名的字符串。假如数据库字段的数值是整型大概仅仅包括字符大概数字,下面的遍历代码就已很好了!
以上先容的办法不是很庞大,可是在某些方面倒是很复杂,并且很好用。
怎样埋没页面以防被搜刮
在收集上为我们导航的搜刮引擎利用一些小程序---比方我们所晓得的’robots’、’bots’、’crawlers’和’spiders’---来对页面举行索引。但是,当开辟一个站点,特别是利用ASP举行开辟时,做到避免页面被索引倒是十分有效的。当这些搜刮引擎正在回忆它们对所创立的web页面举行静态索引的计划时,比方ASP页面,本文将匡助你进修一些主要的技能来制止robots跟踪那些你不宁愿被它们索引的页面。
这为何与你有关?
例如说如今你会见了XYZ公司的Web站点,用你所熟习的搜刮引擎对’XYZCorp.’举行搜刮。假如你发明你的办理页面也在相干的链接表中的话就会有点忧虑了。假如你有一个电子商务站点,你会不肯意在用户停止后面的页面之前,失掉这个站点的订单部分最初一页的url。不单单是网管职员不但愿产生的。关于用户来讲,有些页面不克不及一般运转也是懊恼的事,大概是由于他们没有得当的权限,大概由于他们没有依照设定的按次会见页面。如许也倒霉于你的站点的名誉。这与那些贸易搜刮引擎的谋划者本身也有干系。由于他们想要供应正确的链接来改良服务。
那末,怎样避免这些程序对你的站点的某些页面举行索引呢?有两种办法可供选择,一是在根目次下包括一个名为robots.txt的文件,大概是利用<META>标志。
包括一个robots.txt文件
早在1994年,一个主动邮件发送列表就团结提出了一个避免robots拖拽站点的协议。可是这并非一个正式的尺度,它不克不及供应实行的包管,可是却为很多robot作者所利用。
创立一个robots.txt文件十分复杂,它标明网管职员所但愿的robot举动尺度。注重文件名必需用小写字母,并且必需放在站点的根文件夹中,比方http://xyzcorp/robots.txt,如许一个文件就可以带出全部站点的全体细节。
一个robots.txt文件中有甚么?
每一个robots.txt文件包括一条或多笔记录。一笔记录由robot的用户代办署理字符串构成,即你乐意遵守的唆使和使用于它的唆使。不必忧虑你必要晓得在web中周游的一切robot的用户代办署理字符串,由于你能够用通配符*来使用一切的robots。以下是一个纪录的例子:
User-agent:*
Disallow:/XYZfinances.asp
Disallow:/admin
Disallow:/news/update.asp
除用户代办署理字符串/通配符,只必要包括一个disallow命令。这一个复杂的例子就显现了你将会必要的全体大概性。它标明没有效户代办署理字符串可以进进XYZfinances.asp,用这一行暗示:
Disallow:/XYZfinances.asp
大概说用户代办署理字符串不克不及进进办理文件夹及其上面的一切文件夹:
Disallow:/admin
大概是旧事文件夹中的update.asp文件,假如旧事文件夹中一切别的内容都能够被索引的话。
在一笔记录中你乐意包括几用户代办署理字符串的名字都能够。一样在任何一个robots.txt文件中,你乐意包括几笔记录都能够(只需用一个或多个空行分开开这些纪录就能够)。
每条独自的纪录都能够为一个或多个robots供应分歧的唆使。可是为那些没有效用户代办署理字符串所定名的引擎增添一个通配符划定规矩是明智的。最盛行的选择是保护用一笔记录和一个代表用户代办署理字符串的通配符所暗示一个计划。一个有196个用户代办署理的清单可参考
http://info.webcrawler.com/mak/projects/robots/robots.html。
广泛以为,robots应当疏忽巨细写和版本号。要记着这是年夜多半贸易搜刮引擎的robots作者们的定见,由于你不想用那些没用的页面来利用户感应忧?。可是,固然在命令行中你能够不用思索巨细写,可是必需包管在键进URL时是正确无误的。固然WindowsNT对文件名和路径名的巨细写无所谓,但并非一切的平台都云云。
你但愿包括出来的别的器材就只要正文了,这些利用UNIXbourneshell协议,如用#标记暗示在hash标记后面空缺,和一行中能够被疏忽的残剩部分。假如一行中只包括一个正文的话,它就能够完整被疏忽,固然它在纪录之间的感化与空行其实不不异。
如今来看看两个终极的例子。
例1
#Don’tcometothissite
User-agent:*
Disallow:/#Disallowsanything
例2
#robots.txtforXYZcorp
#webmaster:JohnDoecontactJohnD@xyzcorp.com
User-agent:*#Appliestoallrobotsexceptnextrecord
Disallow:/store/order/#NorobotshouldvisitanyURLstartingwith
/store/order/
Disallow:/admin/#Disallowanypagesintheadminfolder
Disallow:/world_domination.asp#Disallowworld_domination.asp
好,这就是有关robot.txt文件的全体内容。
上面先容怎样利用<META>标志。
利用一个<META>robot标志
一样,你仍是不克不及包管一个robot会完整恪守<META>标志中的唆使,可是对贸易搜刮引擎来讲仍是非常无效的。<META>标志必需包括在一个文件的<HEAD>部分。他们事情的道理是告知robot是不是能够对个中有这个标志的页面举行索引,是不是能够跟从页面上或其下的文件夹中的任何链接。
一样,语法十分复杂。第一个例子是:
<METANAME="robots"CONTENT="noindex">
这行代码告知robot不要索引这一页。
下一个例子:
<METANAME="robots"CONTENT="nofollow">
同意robot索引这一页,可是划定它不克不及够跟从这一页上的任何链接。假如你想将两者都克制,可使用:
<METANAME="robots"CONTENT="noindex,nofollow">
这暗示不要索引这一页,也不要跟从这页上的任何链接。可是,另有一个更复杂的办法:
<METANAME="robots"CONTENT="none">
仍是暗示不要索引这一页,或跟从这页上的任何链接。
不幸的是,假如你有一个名为admin.asp的文件与update.asp相链接,在admin.asp中利用<META>
标志来避免robot对admin.asp或update.asp举行索引,却健忘在另外一个与update.asp相链接的
页面中也做一样的处置,那末robot仍是能够经由过程这个遗漏<META>标志的第二页而抵达update.asp。
别的,你还可使用值索引。但因为它们被疏忽时是默许值,因而这是没有需要的,并且如许做没成心义。
假如你利用的是IIS,那末应当老是利用定制的HTTP头文件来实行<META>标志办法。从实际上讲,一个robot对以这类体例创立的<META>标志的反响应当是完整一样的,看起来是如许:
<METAHTTP-EQUIV="robots"CONTENT="noindex">
从实际上讲,如今我们就能够对一切的文件夹或文件夹中的文件或假造路径利用IIS创立的定制头文件。可是到今朝为止,这类办法的测试其实不乐成。这些办法都不克不及完整包管将你的页面躲起来。的确,假如有人存心写一个robot往找到你的私用页面的话,他们反而成了指向作者想要回护的页面的指针。可是,关于避免贸易站点索引页面来讲,这些办法仍是见效的,也只要在这方面是成心义的。
asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。 |
|