2014-11-06 248 views
-1

我试图在Internet Explorer中运行这个vbscript,但它似乎不起作用。它可以在我制作.vbs文件并双击时运行,但不能在浏览器上运行。如何在Internet Explorer中运行vbs

Dim strWebsite 

strWebsite = "www.site.org" 

If PingSite(strWebsite) Then 
    WScript.Echo "Web site " & strWebsite & " is up and running!" 
Else 
    WScript.Echo "Web site " & strWebsite & " is down!!!" 
End If 


Function PingSite(myWebsite) 
    Dim intStatus, objHTTP 

    Set objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1") 

    objHTTP.Open "GET", "http://" & myWebsite & "/", False 
    objHTTP.SetRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MyApp 1.0; Windows NT 5.1)" 

    On Error Resume Next 

    objHTTP.Send 
    intStatus = objHTTP.Status 

    On Error Goto 0 

    If intStatus = 200 Then 
     PingSite = True 
    Else 
     PingSite = False 
    End If 

    Set objHTTP = Nothing 
End Function 

这样做的正确方法是什么?

+1

为什么这个标签为'javascript'?你可以在你输入这个文件的地方显示你的html代码吗? – jasonscript 2014-11-06 02:07:36

回答

1

从MS媒体热炒:VBScript is no longer supported in IE11 edge mode(正如你可能知道,其他浏览器(不上的MS渲染运行)并没有想运行VBS)

“正确”的方式是将这种到JavaScript(没有认真,你现在仍然可以嘲笑一下,但是显然它已经过时了,建议现在更新旧的代码),这并不困难,因为这种技术起源于MS。你仍然会做头部请求并检查状态 - 否。

这应该让你开始:HTTP HEAD Request in Javascript/Ajax?

编辑(解决您的评论):
不要指望可靠设置useragent虽然(是,像上面的脚本,似乎更的事过去):

EDIT2:
我看/想你想以某种方式来区分你的应用程序:(?在日志中也许)MyApp 1.0;。如果是这样的话,你可能要添加一些自定义的标题改为:
How can I add a custom HTTP header to ajax request with js or jQuery?

此外,大多数服务器日志(默认)在GET -STRING回暖,您可能需要使用/添加到该(所以如果你的自定义头文件不显示,你不需要改变日志格式)?

+0

是的,但有可能改变useragent?这就是为什么林挣扎着。 – user198989 2014-11-06 02:19:11

+0

是的。如果编辑2在IE上工作,那会很棒,但是很显然,这些ajax post方法在IE中不起作用。 – user198989 2014-11-06 02:45:48