|
Открыть в браузере статью Microsoft Knowledge Base по ее номеруВ файле kbase.vbs (листинг 1) находится функция GetKBaseArticleUrl, которая по номеру статьи Microsoft Knowledge Base генерирует соответствующий ей URL.В файле kbase.wsf (листинг 2) помещен скрипт, запрашивающий через диалог номер статьи и открывающий эту статью в браузере по умолчанию. Запрос номера статьи можно сделать и на HTML-странице через форму: Исходный текст формы и сопутствующего ей скрипта находится в листинге 3. Обратите внимание - скрипт на JScript с легкостью вызывает скриптовую функцию на VBScript. Листинг 1: kbase.vbsOption Explicit Function GetKBaseArticleUrl(Number) GetKBaseArticleUrl = "" Number = UCase(Trim(Number)) If Left(Number, 1) <> "Q" Then Number = "Q" & Number Dim NumberLen NumberLen = Len(Number) If (NumberLen <> 6) And (NumberLen <> 7) Then Exit Function Const Digits = "0123456789" Dim I For I = 2 To NumberLen If InStr(Digits, Mid(Number, I, 1)) = 0 Then Exit Function Next GetKBaseArticleUrl = "http://support.microsoft.com/support/kb/articles/" & _ Left(Number, NumberLen - 3) & "/" & _ Mid(Number, NumberLen - 2, 1) & "/" & _ Right(Number, 2) & ".asp" End Function Листинг 2: kbase.wsf
<job id="OpenKBase">
<script language="VBScript" src="kbase.vbs"/>
<script language="VBScript">
Option Explicit
Dim Number
Number = InputBox("Пожалуйста, введите номер статьи Microsoft Knowledge Base." & _
vbNewLine & vbNewLine & _
"Примеры: 'Q185477', 'Q90904', '185477' или '90904'", WScript.ScriptName, "1")
If Len(Number) = 0 Then WScript.Quit
Dim Url
Url = GetKBaseArticleUrl(Number)
If Len(Url) = 0 Then
MsgBox "Неправильный формат номера.", _
vbOkOnly + vbCritical, WScript.ScriptName
WScript.Quit
End If
MsgBox Url, vbOkOnly + vbInformation, WScript.ScriptName
Dim Shell
Set Shell = CreateObject("WScript.Shell")
Shell.Run Url
Set Shell = Nothing
</script>
</job>
Листинг 3
<script language="VBScript" src="kbase.vbs"></script>
<script language="JScript">
function OpenKBaseArticle()
{
var urlKBase = GetKBaseArticleUrl(kbase.article.value);
if (0 == urlKBase.length)
alert("Номер статьи введен неверно, обратите внимание на примеры!");
else
window.open(urlKBase, "_new");
}
</script>
<form name="kbase">
Пожалуйста, введите номер статьи Microsoft Knowledge Base:<br>
<input name="article" size="10" maxlength="10" value="">
<input type="button" value="Открыть!" onClick="jscript:OpenKBaseArticle();"><br>
Примеры: 'Q185477', 'Q90904', '185477' или '90904'
</form
|