带有Webbrowser控件和Javascript的VBS应用程序

带有Webbrowser控件和Javascript的VBS应用程序,javascript,vbscript,webbrowser-control,Javascript,Vbscript,Webbrowser Control,我有一个带有webbrowser控件的VBS应用程序。在这个控件中,我打开了一个包含JavaScript的HTML文件。此JavaScript只是将变量设置为值,如下所示: var clicked = 3; 我是否有可能在VBS应用程序中使用此变量?我可以返回值吗 谢谢大家! 在我的Webbrowswer控件中,我使用事件文档Complete? 在这种情况下,我要说: Dim oScript As Object set myVariables = oScript.clicked ?? 如果

我有一个带有webbrowser控件的VBS应用程序。在这个控件中,我打开了一个包含JavaScript的HTML文件。此JavaScript只是将变量设置为值,如下所示:

var clicked = 3;
我是否有可能在VBS应用程序中使用此变量?我可以返回值吗

谢谢大家!


在我的Webbrowswer控件中,我使用事件文档Complete? 在这种情况下,我要说:

Dim oScript As Object
set myVariables = oScript.clicked
?? 如果我有多个全局变量,如何选择正确的一个? 如果我在一个OnClick事件中用javascript设置这个变量,“DocumentComplete”事件不是正确的,或者? Viszal Basic脚本中不接受作为对象的行
Dim oScript


谢谢你的帮助

我知道这个答案可能不适用于Visual Basic 6.0,但是,在VB.NET和C#中,您可以这样做:WebBrowser1.Document.InvokeScript(“eval”,“clicked”)。也许你可以在VisualBasic6.0中找到类似的东西。

我知道这个答案可能不适用于VisualBasic6.0,但是,在VB.NET和C#中,你可以这样做:WebBrowser1.Document.InvokeScript(“eval”,“clicked”)。也许您可以在Visual Basic 6.0中找到类似的东西。

VB6擅长后期绑定,因此您不需要处理诸如IDispatch和DISPATCH_PROPERTYGET之类的自动化内容。只需将oScript暗显为对象,并在DocumentComplete事件中将其设置为webbrowser.document.script。DocumentComplete也是替换元素处理程序的好地方,请参见,如果要接收元素事件,则可以调用oScript.clicked来获取全局变量的值。也就是说,除非您在webbrowser控制下,否则您需要处理IDispatchEx和COM疯狂


是这个问题的C版本。

VB6擅长后期绑定,因此不需要处理IDispatch和DISPATCH#u PROPERTYGET之类的自动化内容。只需将oScript暗显为对象,并在DocumentComplete事件中将其设置为webbrowser.document.script。DocumentComplete也是替换元素处理程序的好地方,请参见,如果要接收元素事件,则可以调用oScript.clicked来获取全局变量的值。也就是说,除非您在webbrowser控制下,否则您需要处理IDispatchEx和COM疯狂


是这个问题的C版本。

您能详细说明一下VBS应用程序的含义吗?我猜它可能是(1)HTA应用程序,(2)Web应用程序(即网页),(3)ASP,(4)CScript/WScript或(5)ScriptHost应用程序。它是Visual Basic Script 6.0应用程序。我有一个带有Webbrowser控件的表单。所以我认为它是WScript。好吧,我明白了。您有一个VisualBasic应用程序(不是VBScript;您的问题具有误导性和错误标记)。您希望在javascript和Visual Basic应用程序之间共享内容。能否详细说明VBS应用程序的含义?我猜它可能是(1)HTA应用程序,(2)Web应用程序(即网页),(3)ASP,(4)CScript/WScript或(5)ScriptHost应用程序。它是Visual Basic Script 6.0应用程序。我有一个带有Webbrowser控件的表单。所以我认为它是WScript。好吧,我明白了。您有一个VisualBasic应用程序(不是VBScript;您的问题具有误导性和错误标记)。您希望在javascript和Visual Basic应用程序之间共享内容。我的问题只是一个示例。在我的Javascript中,我在OnClick事件中设置了这个变量“clicked”。那么Webbrowser事件“DocumentFinished”不是正确的,或者?在VisualBasic脚本中,我认为没有办法说“DimOScript作为对象”,我认为必须创建一个对象。你能再解释一下吗?在我的Webbrowser事件中,我只是说“oScript.clicked”??这个.clicked是Javascript中的我的变量吗?如果您稍后设置变量,那么您需要稍后检查它的值,文档完成是在用户单击之前。我假设你有一个VB应用程序,你是如何用VBS编写ActiveX主机的?我的问题只是一个例子。在我的Javascript中,我在OnClick事件中设置了这个变量“clicked”。那么Webbrowser事件“DocumentFinished”不是正确的,或者?在VisualBasic脚本中,我认为没有办法说“DimOScript作为对象”,我认为必须创建一个对象。你能再解释一下吗?在我的Webbrowser事件中,我只是说“oScript.clicked”??这个.clicked是Javascript中的我的变量吗?如果您稍后设置变量,那么您需要稍后检查它的值,文档完成是在用户单击之前。我假设你有一个VB应用程序,你是如何用VBS编写ActiveX主机的?