使用Webbrowser控件和Javascript的VBS应用程序

时间:2012-01-21 06:59:40

标签: javascript vbscript webbrowser-control

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

var clicked = 3;

我是否有可能在我的VBS应用程序中使用此变量?我可以返回值吗?

谢谢!


在我的Webbrowswer控件中我使用事件DocumentComplete? 在这种情况下,我说:

Dim oScript As Object
set myVariables = oScript.clicked

? 如果我有多个全局变量,我该如何选择正确的变量呢? 如果我在OnClick事件中在javascript中设置此变量,事件“DocumentComplete”不是正确的,或者? Viszal Basic Sc​​ript中不接受行Dim oScript As Object

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

VB6擅长后期绑定,因此您无需处理IDispatch和DISPATCH_PROPERTYGET等自动化内容。只需将oScript作为对象,并将其设置为DocumentComplete事件中的webbrowser.document.script。 DocumentComplete也是替换元素处理程序的好地方,请参阅handle html element events,如果您想要接收元素事件,则可以调用oScript.clicked来获取全局变量的值。也就是说,除非你的webbrowser控件中有turn on the IE9 mode,否则你需要处理IDispatchEx和COM疯狂。

Read Javascript variable from Web Browser control是此问题的C#版本。