472,096 Members | 1,290 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,096 software developers and data experts.

Event fired by "alert"

I'm looking for the event that is fired by Internet Explorer to an "alert":

<SCRIPT>
Alert("You already have a session open")
</SCRIPT>

The event would be webBrowser.Document.????

Much appreciate any help you can give me.
Thanks,
Alistair Saldanha

Jul 24 '05 #1
11 4453


Ahhhhhh, what!?

Danny
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
Jul 25 '05 #2
Lee
Danny said:

Ahhhhhh, what!?


That's a rather useless post, wasting the time of everyone who
reads it. You could have asked clarifying questions, or pointed
out specific misconceptions. In any case, I would hope that you
would also quote enough of the post that you were responding to
to allow others to know what you're questioning.

Jul 25 '05 #3
I am the person who made the original post. I didn't want to make my message
too long but it may have been too brief. I'm using Visual Basic to control a
WebBrowser control on a Visual Basic form through automation. For instance,
if someone clicks a button named Xbutton in Internet Explorer the Visual
Basic code would be:

WebBrowser.Document.All("Xbutton").OnClick = Class1

This will run the default method in Class1 when the user clicks Xbutton.

I'm looking for the same pathway for an alert:

<SCRIPT>
Alert("You already have a session open")
</SCRIPT>

I'm assuming the pathway would be something along the lines of:

WebBrowser.Document.All("???") = Class2

Thanks,
Alistair
"Alistair Saldanha" <di******@cox.net> wrote in message
news:KXUEe.27410$mC.13022@okepread07...
I'm looking for the event that is fired by Internet Explorer to an
"alert":

<SCRIPT>
Alert("You already have a session open")
</SCRIPT>

The event would be webBrowser.Document.????

Much appreciate any help you can give me.
Thanks,
Alistair Saldanha

Jul 25 '05 #4
VK


Alistair Saldanha wrote:
I am the person who made the original post. I didn't want to make my message
too long but it may have been too brief. I'm using Visual Basic to control a
WebBrowser control on a Visual Basic form through automation. For instance,
if someone clicks a button named Xbutton in Internet Explorer the Visual
Basic code would be:

WebBrowser.Document.All("Xbutton").OnClick = Class1

This will run the default method in Class1 when the user clicks Xbutton.

I'm looking for the same pathway for an alert:

<SCRIPT>
Alert("You already have a session open")
</SCRIPT>

I'm assuming the pathway would be something along the lines of:

WebBrowser.Document.All("???") = Class2

Thanks,
Alistair


window.alert() is a method of the window object. It is not an event and
it doesn't fire any particular event. As on alert display focus goes to
the alert window, the parent window generates unload event. But it is
useless because unload may be caused by too many reasons.

Also window.alert is what we would call "final class" in other
languages. Thus it doesn't allow to change it's constructor to add
extra property/methods.

Alert doesn't appear automatically, but always has to be explicetly
called in the code. So what does prevent you from:

function foo() {
alert(message);
otherFunction();
}

?

Jul 25 '05 #5
VK wrote:
window.alert() is a method of the window object. It is not an event and
it doesn't fire any particular event. As on alert display focus goes to
the alert window, the parent window generates unload event. But it is
useless because unload may be caused by too many reasons.

Also window.alert is what we would call "final class" in other
languages. Thus it doesn't allow to change it's constructor to add
extra property/methods.

Alert doesn't appear automatically, but always has to be explicetly
called in the code. So what does prevent you from:

function foo() {
alert(message);
otherFunction();
}

?


How is alert a class? Final or otherwise? It's no more a class than,
say, setsockopt, or document.write, or print or echo.

Also, I think you may have gotten blur and unload confused. unload is
fired only when the current document is unloaded, i.e. when navigating
away from the document, or when closing the browser window. alert
causes the window (and children) to lose focus, causing a blur event,
not an unload.

Hope that clarifies it a bit.

Jul 25 '05 #6
Alistair Saldanha wrote:
I am the person who made the original post. I didn't want to make my message
too long but it may have been too brief. I'm using Visual Basic to control a
WebBrowser control on a Visual Basic form through automation. For instance,


As I understand it, within your VB code you want to be able to react to
an alert message being popped up, presumably by sending a keystroke to
it to dismiss it (or maybe even choose between options or enter input).
I suspect it would be too difficult to guess that the alert is coming
up and then spew a key to dismiss it.

This question is quite interesting, however, and I think it is better
addressed in the newsgroup: microsoft.public.vb.winapi
In particular, I think the call you are looking for is the windows API
SetWindowsHookEx with either WH_CBT (more probably) or WH_SHELL,
probably requiring a DLL. The class of the alert/confirm/prompt
(common dialog) windows are all "#32770" and alert has a single OK
button is a subwindow (class "Button"), while the other two each have
an OK and Cancel button, but the prompt window also has an Edit class
subwindow.

You might do a google search on: "32770" SetWindowsHookEx
Here's a useful page with some ideas:
http://groups-beta.google.com/group/...9d4612fdaec9f/

I'll look forward to seeing more on this topic,
Csaba Gabor from Vienna

Jul 25 '05 #7
Csaba Gabor wrote:
Alistair Saldanha wrote:
I am the person who made the original post. I didn't want to make my message
too long but it may have been too brief. I'm using Visual Basic to control a
WebBrowser control on a Visual Basic form through automation. For instance,


As I understand it, within your VB code you want to be able to react to
an alert message being popped up, presumably by sending a keystroke to
it to dismiss it (or maybe even choose between options or enter input).
I suspect it would be too difficult to guess that the alert is coming
up and then spew a key to dismiss it.


Just a thought-- I don't know whether or not this is even possible from
a VB app, but it would seem easiest to replace the window.alert method
with a no-op.

window.alert = function () { };

Don't know if you can do that, but if you can, do.

Jul 25 '05 #8
Christopher J. Hahn wrote:
Just a thought-- I don't know whether or not this is even possible from
a VB app, but it would seem easiest to replace the window.alert method
with a no-op.

window.alert = function () { };

Don't know if you can do that, but if you can, do.


Wow, Great idea!
<body onload="revamp()">
<script type='text/javascript'>
function revamp() {
// revamp the default alert function
var oldAlert = window.alert;
window.alert = function(alertMsg) {
window.status = alertMsg;
}

// proof of concept
alert("Hi mom");
oldAlert ("Hi dad");
// alert(""); // reset the status bar
}
</script>
</body>

And yes, you can do this from VB with:
IE.document.parentWindow.execScript _
"window.alert=function(alertMsg) {window.status=alertMsg;}"

Side note. If you're going to be creating variables off IE's
document that you can access from VB, I recommend doing
something to create it first like:
IE.document.parentWindow.execScript "window.myVar=0"
which will allocate the variable for use

Csaba Gabor from Vienna
PS. I didn't test this on the VB side, but I do it in other situations

Jul 25 '05 #9
Csaba,

Thank you so much for your post.

I cannot change the code in the WebBrowser, I am helping the end user react
to the WebBrowser using Visual Basic automation. The Visual Basic Automation
automatically enters the account number and other details so the end user
doesn't have to enter them manually. What's killing the VB automation are
the consant messages that pop up saying "Another session is running", which
is actually a bug in the WebBrowser coding, but it stops the VB automation
cold. So I'm hoping to do something to sidestep the alerts.

Alistair
"Csaba Gabor" <Cs***@z6.com> wrote in message
news:11**********************@z14g2000cwz.googlegr oups.com...
Alistair Saldanha wrote:
I am the person who made the original post. I didn't want to make my
message
too long but it may have been too brief. I'm using Visual Basic to
control a
WebBrowser control on a Visual Basic form through automation. For
instance,


As I understand it, within your VB code you want to be able to react to
an alert message being popped up, presumably by sending a keystroke to
it to dismiss it (or maybe even choose between options or enter input).
I suspect it would be too difficult to guess that the alert is coming
up and then spew a key to dismiss it.

This question is quite interesting, however, and I think it is better
addressed in the newsgroup: microsoft.public.vb.winapi
In particular, I think the call you are looking for is the windows API
SetWindowsHookEx with either WH_CBT (more probably) or WH_SHELL,
probably requiring a DLL. The class of the alert/confirm/prompt
(common dialog) windows are all "#32770" and alert has a single OK
button is a subwindow (class "Button"), while the other two each have
an OK and Cancel button, but the prompt window also has an Edit class
subwindow.

You might do a google search on: "32770" SetWindowsHookEx
Here's a useful page with some ideas:
http://groups-beta.google.com/group/...9d4612fdaec9f/

I'll look forward to seeing more on this topic,
Csaba Gabor from Vienna

Jul 25 '05 #10
Alistair Saldanha wrote:
Csaba,

Thank you so much for your post.

I cannot change the code in the WebBrowser, I am helping the end user react
to the WebBrowser using Visual Basic automation. The Visual Basic Automation
automatically enters the account number and other details so the end user
doesn't have to enter them manually. What's killing the VB automation are
the consant messages that pop up saying "Another session is running", which
is actually a bug in the WebBrowser coding, but it stops the VB automation
cold. So I'm hoping to do something to sidestep the alerts.

Alistair From your description, it sounds like you're not dealing with

JavaScript alerts but WebBrowser MsgBoxes. We either need to see the JS
code of the page (everything in <script> tags) to determine for sure,
or if you already know that it's not a JS-alert(), then you're really
asking in the wrong newsgroup.

If it's not JS-related, a VB newsgroup or VB-WebBrowser newsgroup would
serve you best.

Jul 26 '05 #11
Thanks, Chris. I think I found the solution here:

http://www.thescarms.com/vbasic/subclassform.asp

Thanks for your help.

Alistair

"Christopher J. Hahn" <cj****@gmail.com> wrote in message
news:11**********************@g44g2000cwa.googlegr oups.com...
Alistair Saldanha wrote:
Csaba,

Thank you so much for your post.

I cannot change the code in the WebBrowser, I am helping the end user
react
to the WebBrowser using Visual Basic automation. The Visual Basic
Automation
automatically enters the account number and other details so the end user
doesn't have to enter them manually. What's killing the VB automation are
the consant messages that pop up saying "Another session is running",
which
is actually a bug in the WebBrowser coding, but it stops the VB
automation
cold. So I'm hoping to do something to sidestep the alerts.

Alistair

From your description, it sounds like you're not dealing with

JavaScript alerts but WebBrowser MsgBoxes. We either need to see the JS
code of the page (everything in <script> tags) to determine for sure,
or if you already know that it's not a JS-alert(), then you're really
asking in the wrong newsgroup.

If it's not JS-related, a VB newsgroup or VB-WebBrowser newsgroup would
serve you best.

Jul 26 '05 #12

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

3 posts views Thread by George Hester | last post: by
2 posts views Thread by Boki | last post: by
1 post views Thread by moho | last post: by
24 posts views Thread by Jeremy J Starcher | last post: by
reply views Thread by leo001 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.