• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

IE compatibility mode (?) issue

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

    IE compatibility mode (?) issue

    Working on a browser app for client.

    Basically, their (3rd party) application allows them to specify a start page URL.

    My app is specified as the 3rd party URL.

    They don't believe that they can change the browser that the application is using, so we're stuck with whatever version of IE is installed on the server.

    On their dev server, we've got IE11.

    When it runs within their application, it 'thinks' it's IE7 as demonstrated by setting

    https://www.cyscape.com/showbrow.asp

    as the start page URL


    So I've managed to get round of most of the issues by adding:

    <meta http-equiv="X-UA-Compatible" content="IE=Edge" />


    However, one issue remains, and I'm not convinced it's even a compatibility thing, as when I run IE11 in 7 compatibility mode I don't get the same issue.

    I've got a (.net) list box <asp:ListBox> which is rendered as <select size="12" multiple="multiple">

    I've got some very basic styling - width (which may possibly be relevant, although removing it doesn't appear to help)

    The problem:

    WHen running in the application, scrolling seems to fire the blur event. But only when you've selected something - so if you simply scroll up and down, all is dandy. If you click the first item, then scroll (for example, to multi select), the blur event fires.


    This is making it virtually unusable in the way they need to use it. Have played with it, but have limited ability to install stuff on their servers, and I can't run their application on mine. Works beautifully in the standalone browser.


    Any ideas?

    #2
    Other relevant info -

    the scrollbar on the multi-select looks different running in the standalone browser

    Standalone (works)



    In the application (broken)

    Comment


      #3
      Do you mean the browser is built in to the application? Like a .Net webview thing? It's been ages since I've done .Net so I'm sure someone can be more helpful about that side of it. Also, why does it matter which browser is installed on the server? Isn't it particular to the machine that's running the app?

      I'm trying to picture how it's working but I'm getting confused

      Comment


        #4
        THis sounds like a similar problem

        javascript - IE 10 - div with scrollbar fires blur event causing it to hide (custom code) - Stack Overflow

        Might see if I can adapt their 'flagclick' code. Or stick my listbox in a div and add the events to that. Manyana...

        Although it would be nice if it just fecking worked!!!

        Comment


          #5
          Originally posted by Bunk View Post
          Do you mean the browser is built in to the application? Like a .Net webview thing? It's been ages since I've done .Net so I'm sure someone can be more helpful about that side of it. Also, why does it matter which browser is installed on the server? Isn't it particular to the machine that's running the app?
          The application is a desktop app - run off a central server (although I think it can be run locally) I have no idea how the browser within the application works, but it uses whatever's installed on the machine the application is running on. Application is Cognos Controller if that gives any clues to anyone.

          Comment


            #6
            The weird thing about <select> in IE is that it wasn't really implemented in the browser until IE7 (IIRC) - before that, it used the equivalent Windows native control. This caused various bugs such as it ignoring z-index, because it was basically an independent window contained within the browser window. But when they implemented it as a browser control, they were starting from scratch, so it's had years less time to have bugs ironed out than the rest of the browser. This business of clicking the scrollbar causing it to fire "blur" sounds like just that kind of thing.

            The idea of wrapping it in a div and delegating all the event handlers to there sounds like a good starting point. You may end up having to keep track of a fair bit of state yourself though. Pay particular attention to keyboard navigation, to get things like tabbing into and out of it, with and without selecting and scrolling, working in a manner consistent with the expected behaviour.

            Good luck!

            Comment


              #7
              Originally posted by NickFitz View Post
              The weird thing about <select> in IE is that it wasn't really implemented in the browser until IE7 (IIRC) - before that, it used the equivalent Windows native control. This caused various bugs such as it ignoring z-index, because it was basically an independent window contained within the browser window. But when they implemented it as a browser control, they were starting from scratch, so it's had years less time to have bugs ironed out than the rest of the browser. This business of clicking the scrollbar causing it to fire "blur" sounds like just that kind of thing.

              The idea of wrapping it in a div and delegating all the event handlers to there sounds like a good starting point. You may end up having to keep track of a fair bit of state yourself though. Pay particular attention to keyboard navigation, to get things like tabbing into and out of it, with and without selecting and scrolling, working in a manner consistent with the expected behaviour.

              Good luck!
              Thanks Nick - will go down that route. Probably don't have to worry too much about all the other crap - the multi appears when the user clicks in the text box above it, and disappears when the multi loses focus. Just a PITA that it works nicely standalone, and I don't appear to be able to convince the application that I am running an uptodate incarnation of IE.

              Comment


                #8
                This may be relevant, though as it involves setting a registry key it probably won't actually help: Web Browser Control &ndash; Specifying the IE Version - Rick Strahl's Web Log

                But I found it by Googling mshtml compatibility mode (mshtml being the old-fashioned name for the Web Browser Control used by desktop apps) so a similar search might throw up something helpful.

                Comment


                  #9
                  Also, looky here: com - How to put the WebBrowser control into IE9 into standards? - Stack Overflow

                  Comment


                    #10
                    Thanks - I can possibly set the registry key on the dev server (and am tempted to do so just to see whether it fixes it) but it seems very unlikely I'll be able to do that on their end clients' machines (the ultimate users). It's taken 5 months and 3 site visits to get one large clients' test server upgraded from IE8

                    Comment

                    Working...
                    X