|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。打印|页面HTTP组件,我所晓得的有ASPHTTP,ASPTEAR等等,这里我们要用的是比尔的XMLHTTP,假如你呆板上没有,能够到这里下载
http://www.microsoft.com/data下载mdac2.6
http://msdn.microsoft.com/workshop/xml/index.asp下载msxml
象年夜多半我们看到的页面一样,好比一个旧事详细内容页面,该页面有个毗连叫打印本页,点出来今后,并非当即打印(固然也能够做到,我指的是选择性打印),而是呈现一个往失落一些头尾等有关信息的文件,这里大概有个打印毗连,大概要你本人下手了。
我们的思绪是如许的,用HTTP组件取得该页面的信息,然后用一些办法好比我们能够接纳正则表达式来分别我们想要的和不想要的器材。我们用HTML的标签来剔除我们不想要的内容,好比:
<!--STARTPPOMIT-->
<table>
<tr>
<td><ahref="/home">homepage</a></td>
</tr>
<tr>
<td><ahref="/support">support</a></td>
</tr>
<tr>
<td><ahref="/contact">contactus</a></td>
</tr>
<tr>
<td><ahref="/products">Products</a></td>
</tr>
</table>
<!--ENDPPOMIT-->
固然,还必要供应一个打印毗连,我们用JSCRIPT来做。
<scriptLanguage="JavaScript">
<!--hidefromoldbrowsers
//ppbandppearethestartandendofthedynamiclink
//window.location.hrefwillrefertothecurrentURLofthepage
//itsnicetomakeitopeninanewwindowtoo!i.e.target=_blank
varppb="<ahref=/print/printpage.asp?ref=";
varppe="target=_blank>PrintThisPage</a><br>";
document.write(ppb+window.location.href+ppe);
//end-->
</script>
这里我们传送了一个以后路径给打印页面,请看呆会的代码
先举个xmlhttp的复杂例子
<%
FunctionGetHTML(strURL)
DimobjXMLHTTP,strReturn
SetobjXMLHTTP=SErver.CreateObject("Microsoft.XMLHTTP")
objXMLHTTP.Open"GET",strURL,False
objXMLHTTP.Send
strReturn=objXMLHTTP.responseText
SetobjXMLHTTP=Nothing
GetHTML=strReturn
EndFunction
Writeit:
Response.WriteGetHTML("http://www.topcoolsite.com/")
Downloadit:
Response.ContentType="application/x-msdownload"
Response.AddHeader"Content-Disposition","filename=Something.asp"
Response.BinaryWriteGetHTML("http://www.topcoolsite.com/")
%>
运转下面这段代码就可以看到我的团体网站了,:)
接上去我们步进正题,我们创立一个printpage.asp
一旦你在符合的地位拔出了正文标志,剩上去的只是代码的事了
<%
optionexplicit
Response.Buffer=True
界说变量,正则表达式,XMLHTTP,路径
DimRefPage,objXMLHTTP,RegEx
RefPage=Request.QueryString("ref")
ifRefPage=""then
response.write"<h3>不法路径</h3>"
response.end
endif
SetobjXMLHTTP=Server.CreateObject("Microsoft.XMLHTTP")
objXMLHTTP.Open"GET",RefPage,False
objXMLHTTP.Send
RefPage=objXMLHTTP.responseText
SetRegEx=NewRegExp
RegEx.Global=True
使用正则表达式来干活
RegEx.Pattern="<!--STARTPPOMIT-->"
RefPage=RegEx.Replace(refpage,(chr(253)))
RegEx.Pattern="<!--ENDPPOMIT-->"
RefPage=RegEx.Replace(refpage,(chr(254)))
RegEx.Pattern=chr(253)&"[^"&chr(254)&"]*"&chr(254)
RefPage=RegEx.Replace(refpage,"")
SetRegEx=Nothing
SetobjXMLHTTP=Nothing
Response.WriteRefPage
%>
假如你的剧本引擎版本在5.5或以上
正则表达式的pattern能够如许写
<!--STARTPPOMIT-->(.*?)<!--ENDPPOMIT-->
对了,还要标准你的html代码,记得封闭对应,如<table></table>,否则会闹笑话的……:),你能够把头尾、导航栏等等放在独自的文件里,那样拔出正文标志就很复杂了。
</p>使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。 |
|