簡體   English   中英

如何從Javascript調用VBscript

[英]How can i call VBscript from Javascript

我在這里搜索了線程,但找不到任何與我想做的事情有關的東西。 基本上我想使用javascript為onClick調用vbscript。

有沒有辦法從使用Javascript onmouseover和onmouseout事件的按鈕調用onClick事件的aVBScript?

我似乎無法讓它工作並需要幫助。 下面是我的javascript代碼片段以及我想呼叫的vb腳本:

Javascript代碼:

<td align="center">
    <input onMouseOver="window.status=me.value" onMouseOut="window.status=''" onMouseOver="window.status=me.value" onMouseOut="window.status=''" type="button" value="Impersonation" class="redBtn" onClick="openPopup('http://internal.mps.cardinal.net/cardcom/index.asp')" />
   </td>
   <td align="center">
    <input onMouseOver="window.status=me.value" onMouseOut="window.status=''" onMouseOver="window.status=me.value" onMouseOut="window.status=''" type="button" value="ServiceNow" class="normalBtn" onClick="openPopup('https://cardinal.service-now.com/navpage.do')" />
   </td>

我想做的是調用ServiceBow OnClick事件的vbscript。

我的VBscript:WScript.Quit Main

Function Main
Set IE = WScript.CreateObject("InternetExplorer.Application", "IE_")
IE.Visible = True
IE.Navigate "https://cardinal.service-now.com/navpage.do"
Wait IE

With IE.Document
On Error Resume Next
  .GetElementsByName("EnterpriseID")(0).value = "admin"
  .GetElementsByName("PASSWORD")(0).value = "admin"
End With

IE.Document.getElementByID("SignInBtn").Click

End Function

Sub Wait(IE)
Do
WScript.Sleep 500
Loop While IE.ReadyState < 4 And IE.Busy 
Do
WScript.Sleep 500
Loop While IE.ReadyState < 4 And IE.Busy 
End Sub

Sub IE_OnQuit

On Error Resume Next WScript.StdErr.WriteLine“IE在腳本完成之前關閉。” WScript.Quit End Sub

感謝您提供任何幫助

是的,你可以這樣做,這個示例使用JS中的onmouseover/out和VBScript中的onClick

  <script type="text/vbscript">
      Function MyVbAlert()
        MsgBox("Hello from VB Script!")
      End Function
  </script>

   <script type="text/javascript">

       function myJsMouseOver(c) {
            c.style.color = 'green'    
       }

       function myJsMouseOut(c) {
           c.style.color = 'black'
       }

   </script>


    <span onclick="MyVbAlert()" onmouseover="myJsMouseOver(this)" onmouseout="myJsMouseOut(this)" >Click Me</span>

我知道這已經過時了,但我正在尋找一種方法來從使用javascript編寫的新頁面調用舊版VBScript。 我使用了類似的東西:

<script language="javascript" type="text/javascript">
function clickProxy() {
    document.getElementById("vbProxy").click(); // initiate click event on the button
}
</script>

<script language="vbscript" type="text/vbscript">
function runVB()
    msgbox "VBScript!"
end function
</script>

然后在HTML中:

<input type="button" id="vbProxy" onclick="vbscript: runVB" value="VB Proxy" style="height:0px;width:0px"/>
<input type="button" onclick="clickProxy()" value="Click Me" style="height:0px;width:0px"/>

DOM元素可以同時看到javascript和vbscript,因此我使用一個按鈕來觸發“代理”按鈕,該按鈕又調用VBScript。 您甚至可以通過將params放入隱藏的輸入字段來傳遞params(類型)。

我沒有測試上面的內容,所以如果有任何錯誤就道歉,但你明白了!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM