How to detect if a dialog is present

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Xu, Qian

    How to detect if a dialog is present

    Hi All,

    Is it possible to detect whether a (confirmation or prompt) dialog is
    present? And furthermore, how to press OK, Cancel buttons of a dialog?

    I am writing a javascript based test framework. I would like to detect
    and close dialog using javascript.

    Thanks in advance
    --
    Xu, Qian (stanleyxu)

  • Thomas 'PointedEars' Lahn

    #2
    Re: How to detect if a dialog is present

    Xu, Qian wrote:
    Is it possible to detect whether a (confirmation or prompt) dialog is
    present?
    No, such dialogs are always modal. Script execution in the window from
    which these have been issued is halted until they have been closed.
    And furthermore, how to press OK, Cancel buttons of a dialog?
    You can't.


    PointedEars
    --
    realism: HTML 4.01 Strict
    evangelism: XHTML 1.0 Strict
    madness: XHTML 1.1 as application/xhtml+xml
    -- Bjoern Hoehrmann

    Comment

    • Lasse Reichstein Nielsen

      #3
      Re: How to detect if a dialog is present

      "Xu, Qian" <quian.xu@stud. tu-ilmenau.dewrite s:
      Is it possible to detect whether a (confirmation or prompt) dialog is
      present?
      No. While the dialog is being presented, script execution on the page
      is stopped. So, from another perspective, it is trivial. If your code
      is running, no dialog is being shown.
      And furthermore, how to press OK, Cancel buttons of a dialog?
      User interaction.
      I am writing a javascript based test framework. I would like to detect
      and close dialog using javascript.
      The traditional way that test-frameworks do this is to overwrite the
      alert and confirm functions with code that simulates a pressed button.
      The code using them doesn't need to know, it just gets a preconfigured
      answer back.

      It might not match your requirements, but try looking at the Selenium
      test framework.


      /L
      --
      Lasse Reichstein Nielsen - lrn@hotpop.com
      DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleD OM.html>
      'Faith without judgement merely degrades the spirit divine.'

      Comment

      • Thomas 'PointedEars' Lahn

        #4
        Re: How to detect if a dialog is present

        VK wrote:
        On May 17, 6:50 pm, Thomas 'PointedEars' Lahn <PointedE...@we b.dewrote:
        >Xu, Qian wrote:
        >>Is it possible to detect whether a (confirmation or prompt) dialog is
        >> present?
        >No, such dialogs are always modal. Script execution in the window from
        >which these have been issued is halted until they have been closed.
        >
        A dangerous mistake
        My wording was just imprecise.
        I once had big troubles with.
        No offense meant, but given the nature and number of misconceptions you have
        demonstrated before, one wonders how you are able to write working code at all.
        In Gecko-based browsers including Firefox build-in dialogs are modal only
        withing the current execution context.
        I was aware of that.
        [example code]
        Your examples could be much shorter if you omitted all the unnecessary parts.


        PointedEars
        --
        Use any version of Microsoft Frontpage to create your site.
        (This won't prevent people from viewing your source, but no one
        will want to steal it.)
        -- from <http://www.vortex-webdesign.com/help/hidesource.htm>

        Comment

        • SAM

          #5
          Re: How to detect if a dialog is present

          VK a écrit :
          For instance "enjoy" three alerts
          displayed at once on Firefox:
          I've seen 3 successive alerts ... not at once :-)
          * {
          box-sizing: border-box;
          -moz-box-sizing: border-box;
          -ms-box-sizing: border-box;
          }
          what these styles are supposed to do ?

          --
          sm

          Comment

          • VK

            #6
            Re: How to detect if a dialog is present

            For instance "enjoy" three alerts
            displayed at once on Firefox:
            >
            I've seen 3 successive alerts ... not at once :-)
            I mean if you don't close each alert right away then in ~1.5sec you'll
            have three alerts at once on the screen: drag one to see other
            underneath etc. You may arrange them nicely on the screen, make a
            screen shot of it and send to Mozilla like "Who may guess what a hey
            is that?" :-) Maybe someone knows it. :-)

            * {
            box-sizing: border-box;
            -moz-box-sizing: border-box;
            -ms-box-sizing: border-box;
            }
            >
            what these styles are supposed to do ?
            Nothing relevant to the script. I just grabbed the first template from
            the list to make the demo. Normally we are using it in combination
            with HTML Transitional doctype to have the normal box model for all
            supported browsers (IE6/IE7, Firefox etc.) See if interested

            Comment

            • SAM

              #7
              Re: How to detect if a dialog is present

              VK a écrit :
              >>For instance "enjoy" three alerts
              >>displayed at once on Firefox:
              >I've seen 3 successive alerts ... not at once :-)
              >
              I mean if you don't close each alert right away then in ~1.5sec you'll
              have three alerts at once on the screen: drag one to see other
              underneath etc.
              No, I'm sorry but I haven't that (on my Mac) with Firefox.
              The box(es) is(are) centered and attached at the window title bar.
              With my old IE, Opera and Safari, dialog boxes are floating and ... no
              .... only one alert after the other.
              >>* {
              >> box-sizing: border-box;
              >>-moz-box-sizing: border-box;
              >>-ms-box-sizing: border-box;
              >>}
              >what these styles are supposed to do ?
              >
              Nothing relevant to the script.
              Ha!? OK
              Normally we are using it in combination
              with HTML Transitional doctype to have the normal box model for all
              supported browsers (IE6/IE7, Firefox etc.) See if interested
              http://www.quirksmode.org/css/box.html
              That force IE to see borders as all other browsers ?

              --
              sm

              Comment

              • VK

                #8
                Re: How to detect if a dialog is present

                On May 18, 6:09 am, SAM <stephanemoriau x.NoAd...@wanad oo.fr.invalid>
                wrote:
                VK a écrit :
                >
                >For instance "enjoy" three alerts
                >displayed at once on Firefox:
                I've seen 3 successive alerts ... not at once :-)
                >
                I mean if you don't close each alert right away then in ~1.5sec you'll
                have three alerts at once on the screen: drag one to see other
                underneath etc.
                >
                No, I'm sorry but I haven't that (on my Mac) with Firefox.
                The box(es) is(are) centered and attached at the window title bar.
                With my old IE, Opera and Safari, dialog boxes are floating and ... no
                ... only one alert after the other.
                Strange. Is Firefox using a different script engine for MacOS? I'm
                going to check. For Windows and for Linux it is the same as I
                described. Here for instance Firefox under Mandriva Linux 2008.1
                Spring:
                Latest news coverage, email, free stock quotes, live scores and video are just the beginning. Discover more every day at Yahoo!

                >* {
                > box-sizing: border-box;
                >-moz-box-sizing: border-box;
                >-ms-box-sizing: border-box;
                >}
                what these styles are supposed to do ?
                >
                Nothing relevant to the script.
                >
                Ha!? OK
                >
                Normally we are using it in combination
                with HTML Transitional doctype to have the normal box model for all
                supported browsers (IE6/IE7, Firefox etc.) See if interested
                http://www.quirksmode.org/css/box.html
                >
                That force IE to see borders as all other browsers ?
                It forces others plus IE to calculate the container size properly
                instead of W3C's "content only" schema. On big projects it saves an
                ocean of time and efforts. From the other side I already explained
                that I just grabbed the first template I had to make the demo. I
                didn't want nor willing to start rwars over box models. I personally
                do agree with Peter-Paul Koch and I do consider W3C's box model -
                after being tried many times - as hugely inconvenient for any
                practical use. Yet I am not pushing my opinion onto community - and
                definitely not at c.l.j.

                Comment

                • SAM

                  #9
                  Re: How to detect if a dialog is present

                  VK a écrit :
                  On May 18, 6:09 am, SAM <stephanemoriau x.NoAd...@wanad oo.fr.invalid>
                  wrote:
                  >VK a écrit :
                  >>
                  >>>>For instance "enjoy" three alerts
                  >>>>displayed at once on Firefox:
                  >>>I've seen 3 successive alerts ... not at once :-)
                  >>I mean if you don't close each alert right away then in ~1.5sec you'll
                  >>have three alerts at once on the screen: drag one to see other
                  >>underneath etc.
                  >No, I'm sorry but I haven't that (on my Mac) with Firefox.
                  >The box(es) is(are) centered and attached at the window title bar.
                  >With my old IE, Opera and Safari, dialog boxes are floating and ... no
                  >... only one alert after the other.
                  >
                  Strange. Is Firefox using a different script engine for MacOS?
                  I've always seen JS alert stopping function(s).
                  Since NC3, at least on Mac.
                  While a modal box is opened nothing in JS client side can happen.
                  I think that if a setTimeout was launched before the alert, the time of
                  wait continues to be counted whereas the box is opened.
                  With your example if we close a box the following one opens at once.
                  ( The waiting time is finished)
                  Here for instance Firefox under Mandriva Linux 2008.1
                  Spring:
                  http://www.geocities.com/schools_ring/tmp/alert.png
                  Firefox 2 on Mac OS X 10.4.10 :
                  <http://cjoint.com/?ftaTIkBLqi>

                  --
                  sm

                  Comment

                  • Xu, Qian

                    #10
                    Re: How to detect if a dialog is present

                    Lasse Reichstein Nielsen wrote:
                    >
                    The traditional way that test-frameworks do this is to overwrite the
                    alert and confirm functions with code that simulates a pressed button.
                    The code using them doesn't need to know, it just gets a preconfigured
                    answer back.
                    >
                    It might not match your requirements, but try looking at the Selenium
                    test framework.

                    >
                    /L
                    Sounds smart ;) Thank you All

                    --
                    Xu, Qian (stanleyxu)

                    Comment

                    • Dr J R Stockton

                      #11
                      Re: How to detect if a dialog is present

                      In comp.lang.javas cript message <k5htj5qq.fsf@h otpop.com>, Sat, 17 May
                      2008 17:43:41, Lasse Reichstein Nielsen <lrn@hotpop.com posted:

                      -
                      >Lasse Reichstein Nielsen - lrn@hotpop.com
                      That address, although in your header, sig, and Web site, still does not
                      work :
                      >A message that you sent could not be delivered to one or more of its
                      >recipients. This is a permanent error. The following address(es) failed:
                      lrn@hotpop.com
                      SMTP error from remote mail server after RCPT TO:<lrn@hotpop. com>:
                      host mx1.hotpop.com [38.113.3.62]: 550 <lrn@hotpop.com >:
                      Recipient address rejected: Account closed due to inactivity. No forwarding information is available.
                      --
                      (c) John Stockton, nr London UK. ?@merlyn.demon. co.uk BP7, Delphi 3 & 2006.
                      <URL:http://www.merlyn.demo n.co.uk/TP/BP/Delphi/&c., FAQqy topics & links;
                      <URL:http://www.bancoems.co m/CompLangPascalD elphiMisc-MiniFAQ.htmclpd mFAQ;
                      <URL:http://www.borland.com/newsgroups/guide.htmlnews: borland.* Guidelines

                      Comment

                      Working...