我有一个带有webbrowser控件的VBS应用程序。在此控件中,我打开一个包含JavaScript的HTML文件。这个JavaScript只是将变量设置为值,如下所示:
var clicked = 3;
我是否有可能在我的VBS应用程序中使用此变量?我可以返回值吗?
谢谢!
在我的Webbrowswer控件中我使用事件DocumentComplete? 在这种情况下,我说:
Dim oScript As Object
set myVariables = oScript.clicked
?
如果我有多个全局变量,我该如何选择正确的变量呢?
如果我在OnClick事件中在javascript中设置此变量,事件“DocumentComplete”不是正确的,或者?
Viszal Basic Script中不接受行Dim oScript As Object
?
感谢您的帮助!
答案 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疯狂。