【发布时间】:2011-07-20 16:16:19
【问题描述】:
我想复制 Digg.com 的一些功能,当您发布新地址时,它会自动扫描 url 并找到页面标题。
我正在使用经典的 ASP 和 VBScript 编程并使用 javascript。任何人都知道实现这一点的脚本..?
提前非常感谢..
保罗
【问题讨论】:
标签: javascript vbscript asp-classic
我想复制 Digg.com 的一些功能,当您发布新地址时,它会自动扫描 url 并找到页面标题。
我正在使用经典的 ASP 和 VBScript 编程并使用 javascript。任何人都知道实现这一点的脚本..?
提前非常感谢..
保罗
【问题讨论】:
标签: javascript vbscript asp-classic
这只是一个基本的例子。您可能应该包括一些数据验证。
应该将 ASP 页面称为 getPageTitle.asp 之类的名称
<%
Response.Buffer = True
Dim strURL, objXMLHTTP, objXML, strContents
Dim objRegExp, strHTML, strPattern, colMatches, strTitle
strURL = Request.Form("url")
Set objXMLHTTP = Server.CreateObject ("Microsoft.XMLHTTP")
'Or if this doesn't work then try :
'Set objXMLHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
objXMLHTTP.Open "GET", strURL, False
objXMLHTTP.Send
strContents = objXMLHTTP.ResponseText
Set objXMLHTTP = Nothing
Set objRegExp = New RegExp
strPattern = "<title>(.*?)<\/title>"
objRegExp.Pattern = strPattern
objRegExp.IgnoreCase = True
objRegExp.Global = True
Set colMatches = objRegExp.Execute(strContents)
If colMatches.Count > 0 then
strTitle = objMatches(0).Value
Else
strTitle = ""
End If
Set objRegExp = Nothing
Response.write(strTitle)
%>
这是一个基本的 JavaScript POST 实现。你可以用任何你喜欢的 JS 框架来修饰它。
var script = "http://www.example.com/getPageTitle.asp"
var page2check = "http://www.example.com/somePageToCheck.html"
function getXMLHttpRequestObject() {
var xmlhttp;
/*@cc_on
@if (@_jscript_version >= 5)
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@else
xmlhttp = false;
@end @*/
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp = false;
}
}
return xmlhttp;
}
var http = new getXMLHttpRequestObject();
var parameters = "url="+page2check;
http.open("POST", script, true);
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", parameters .length);
http.setRequestHeader("Connection", "close");
http.onreadystatechange = function() {
if(http.readyState == 4) {
alert(http.responseText);
}
}
http.send(parameters);
var pageTitle = http.ResponseText
我希望这会有所帮助。
【讨论】:
【讨论】:
jQuery.ajax() 或其他包装器,例如 f.i.、http://ajaxian.com/archives/100-line-ajax-wrapper