Digg.comからいくつかの機能を複製すると、新しいアドレスを投稿すると自動的にURLがスキャンされ、ページのタイトルが検索されます。URLだけを使用してウェブページからタイトルを抽出
私は古典的なASPとVBScriptでプログラミングしていて、javascriptを使っています。誰もがこれを行うためのスクリプトを知って..?事前に
感謝..
ポール
Digg.comからいくつかの機能を複製すると、新しいアドレスを投稿すると自動的にURLがスキャンされ、ページのタイトルが検索されます。URLだけを使用してウェブページからタイトルを抽出
私は古典的なASPとVBScriptでプログラミングしていて、javascriptを使っています。誰もがこれを行うためのスクリプトを知って..?事前に
感謝..
ポール
これはやや基本的な例です。おそらく、いくつかのデータ検証を含めるべきです。
ASPページには、これは、基本的なJavaScriptのPOSTの実装です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)
%>
と呼ばれるべきです。あなたは、あなたが好きな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
これが役立ちます。
良い解決策のようです。コーディングに少し助けを使うことができました。 – neojakey
@neojakey、私はaspの達人ではありませんので、ここでお手伝いできません。 jsの部分に関しては、['jQuery.ajax()'](http://api.jquery.com/jQuery.ajax/)や、他のラッパー、fi、[http://ajaxian.com/archives /100-line-ajax-wrapper](http://ajaxian.com/archives/100-line-ajax-wrapper) –
私は本当に感謝しています。 – neojakey