View RSS Feed

ddadmin

IE8 has arrived- so has the work to ensure DD scripts are compatible in it

Rating: 16 votes, 3.31 average.
Well, IE8 was officially released today, and most reviews I've come across on the web seems to be more or less positive, some even saying it puts IE back on top of FF. I've been using IE8 since the beta releases, and to me it's no FF killer. But personal feelings aside, the fact of the matter is, IE8 has arrived, it will eventually become the top browser market share wise in time as it's fed to Windows users, and unfortunately, this means it's also time to go through all scripts on DD to ensure they are compatible in IE8.

I'll be using this entry to update folks on scripts that have just been modified for the sake of IE8 moving forward. These updates may not show up on the DD Revised Scripts Page if they are minor in nature, so you should check in here instead. Feel free to let me know of a particular DD script that doesn't work in IE8 as well (by replying here).

For those do-it-yourself kind of people, there are resources on the web on getting JavaScript to properly work in IE8, from the simpliest but least graceful to getting to the possible root of the issue.

IE8, for better or for worse, welcome.

Submit "IE8 has arrived- so has the work to ensure DD scripts are compatible in it" to del.icio.us Submit "IE8 has arrived- so has the work to ensure DD scripts are compatible in it" to StumbleUpon Submit "IE8 has arrived- so has the work to ensure DD scripts are compatible in it" to Google Submit "IE8 has arrived- so has the work to ensure DD scripts are compatible in it" to Digg

Tags: None Add / Edit Tags
Categories
Off beat topics

Comments

Page 1 of 2 12 LastLast
  1. Snookerman's Avatar
    This also means that we don't have to support IE6 anymore which should make it easier to make our sites work in IE7 and IE8 since we don't need to care if they don't in IE6.

    Also, after playing around a bit with IE8, I have to say that I am really pleased, the final version has many improvements compared to the beta and I have to agree that it's up there next to Firefox (at least until Fx3.1 is released I guess) and I will use it a lot for browsing, mostly because of the tabs. Try it out before you throw those tomatoes.
  2. ddadmin's Avatar
    Ok, first script to be modified for IE8 is Dynamic-FX Slide-In Menu (v 6.5). To update, just replace "ssm.js" with the new one in the zip file.
  3. jscheuer1's Avatar
    IE 6 is still in wide use snookums.

    Anyways, just to add to what ddadmin has said about updating pages - to those in the know:


    1. If you know your page will work in IE 8 standards mode, use this meta tag:

      Code:
      <meta http-equiv="X-UA-Compatible" content="IE=8">
    2. If you know your page requires IE 7 rendering, use:

      Code:
      <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
    3. In javascript - if you want to know how the page is being rendered in IE 8, query this property of the document:

      Code:
      document.documentMode
      It will return the version number of the IE browser version (if any) being emulated. Otherwise, it will return 8.


    Notes: Meta tags should be in the head, first thing before the title tag. If using XHTML (you shouldn't, but I'll forgive you), meta tags should have the self closing syntax, ex:

    Code:
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
    When devising pages for possible use in IE 8 (basically any page you design now that the browser has been released), it is my opinion and makes general sense that you should specify rendering mode with one of the above mentioned meta tags or configure your server to do so. Otherwise, there is always a chance that IE 8 itself will render your page in a way other than it was intended.
  4. ddadmin's Avatar
    That's a lot of good info John; I wasn't aware that document.documentMode returned that info in IE8 actually. Personally though I think when it comes to IE8 compatibility, it basically should mean a script should work in both Compatibility and Standards modes. That's because regardless of what the webmaster does as far as declaring a specific doctype on his/her site, the user now has the ability to override that with his choice of one of the rendering modes. And I thought IE8 was supposed to simplify things for us developers.
  5. jscheuer1's Avatar
    Thats right. I'm using the document.documentMode property in my latest script (Crawler) to check what mode IE 8 is in because when it is in IE 8 standards mode it doesn't have the problem with crawler marquees in a table that all other IE have. And yes, this makes things more complicated. Fortunately document.documentMode is undefined in all other browsers and is a getter and a setter, while in IE 8 it always has a value and is only a getter. This makes it fairly easy to work with.

    I've taken the tack of switching to cc on mode so I know I'm only dealing with IE 5 or greater, then doing a try catch to set document.documentMode to 2000. Then I know that the version number returned by querying the navigator object in IE will be less than document.documentMode, except in IE 8 if it is doing emulation.

    One other thing I noticed while I was in development with Crawler is that IE 8 can sometimes switch modes itself as you scroll down the page (reloading the page as it does this). I found this quite disturbing. That's why I recommend using a compatibility mode meta tag - as that will prevent your page from doing this.

    All that said, if you can have your script 'just work' in IE 8, that would be better than worrying about all this nonsense. This can often be the case, but it will limit what you can do, or at least how you can do it without running into compatibility issues.
  6. molendijk's Avatar
    IE8 won't allow you to replace the iframe with the text/html-object. IE still doesn't handle the object properly.
    ===
    Arie.
  7. TheWinterSolstice's Avatar
    Hi all. First, thank you to DynamicDrive and the brilliant person or people behind it for the service.
    Now for my post:
    1. I have installed the official IE8 and I have noticed that the "All Levels Navigational Menu (v2.1)" is not working properly. I have tried it both in IE8 native and IE8 compatibility view and it is having issues in both modes.
    2. I would suggest to put IE8 related comments and fixes in the page of each menu, because it is more intuitive. Not everyone will think of coming to the Forums to get fixes.
    3. Is there a possibility to modify the "Smooth Navigational Menu (v1.02)" so that we can use a graphic for the background color? For example a repeating graphic that creates a gradient effect?
    Again, many thanks for the very useful functionality and information.
    Best Regards,
    TheWinterSolstice
  8. molendijk's Avatar
    Strange, the All Levels Menu works in IE8 with me, see here.
    ===
    Arie.
  9. TheWinterSolstice's Avatar
    Hi Arie Molendjik, Thank you for the reply. On my end however when I go to the link you provided, the same thing happens to me. Here are the details: What happens is when I hover above a menu item that has a down arrow, instead of the drop down menu appearing, the whole page disappears and only the horizontal menu is displayed. When I click on the arrow, the page reappears, but the drop down does not appear.
    I am using the official version of IE8 and since I had the beta installed prior to that, I reset all the IE8 settings to factory defaults. So I had to set Scripting to Allowed, otherwise the JavaScript wouldn't work.
    I tried two things: to activate compatibility view, which didn't help. and I tried to allow popups, and that didn't help either.
    I would be most thankful for any suggestions.
    Best Regards,
    TheWinterSolstice
  10. molendijk's Avatar
    Hi TheWinterSolstice,
    I don't have IE8 installed on the machine I'm working on right now. I installed it on a computer on my work. I'll check monday, when I'm returning from some place abroad. Just for now: I simply installed the official version, and didn't have a beta version first. Perhaps you should uninstall everything, then install the official IE8-version and see what happens?
    ===
    Arie.
  11. ddadmin's Avatar
    TheWinterSolstice:
    Inside the .js file, what if you turned off the IFRAME shim feature:

    Code:
    enableshim: false,
    Do you still get the same issue? FYI for me All Levels Menu works fine for me in IE8 (official release).
  12. TheWinterSolstice's Avatar
    Hello ddamin, Much gratitude for your willingness to help.
    When I set enableshim to false, the page contents does not disappear (improvement!) however, the drop-down menus do not open when I hover above an option where there is a dropdown.
    Information: IE8 shows an error icon in the bottom left corner. When I click on it I get the following error (the double dashes are mine, for separation):
    ================================================
    Webpage error details

    User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
    Timestamp: Fri, 27 Mar 2009 08:18:23 UTC

    Message: Unspecified error.
    Line: 228
    Char: 3
    Code: 0
    URI: http://192.168.0.10/kvar/site/ddlmenu/ddlmenu.js

    Message: Unspecified error.
    Line: 228
    Char: 3
    Code: 0
    URI: http://192.168.0.10/kvar/site/ddlmenu/ddlmenu.js

    Message: Unspecified error.
    Line: 228
    Char: 3
    Code: 0
    URI: http://192.168.0.10/kvar/site/ddlmenu/ddlmenu.js

    ==========================================
    FYI, there are three items in my "main" menu with ddl's. I'm guessing this is why the error appears thrice.

    I hope I'm being clear and coherent with my descriptions.
    Thank you for your help.
    Best Regards, TheWinterSolstice
  13. TheWinterSolstice's Avatar
    Dear ddadmin,
    Here is some more info, which may (or may not) be of use:
    I created a similar menu system using the latest "ddsmoothmenu". When I launch that page I get two problems:
    #1:
    An information bar pops with the msg: "An add-on for this website failed to run. Check the security settings in Internet Options for potential conflicts."
    #2:
    The page has an error. The error is:
    =========================================
    Webpage error details

    User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
    Timestamp: Fri, 27 Mar 2009 08:48:42 UTC

    Message: 'undefined' is null or not an object
    Line: 107
    Char: 2
    Code: 0
    URI: http://www.efficientenergysystems.or...dsmoothmenu.js
    ===================================================
    Again, to save you some headache and hopefully assist with the debugging, I need to state this: I uninstalled IE8 (as per Arie Molendjik's advice above), ran CCleaner to cleanup the registry, rebooted, reinstalled IE8 from scratch, rebooted, then reset it to factory defaults via |Tools |Internet Options |Advanced |Reset... and still I'm having issues.
    Oh, by the way, Im using the latest JQuery which is 1.3.2. (JQ is required for this menu)
    Thank you much much for your willingness to help. I hope that in some way my (mis)adventures will turn out to be useful, ferreting out any issues with IE8. And to think that I once was such an IE fan. What a pain IE has become...
    Best Regards & Gratitude,
    TheWinterSolstice
  14. molendijk's Avatar
    TheWinterSolstice,
    Did you also comment out httpsiframesrc: "blank.htm" in the js-file?
    So:
    - set enableshim: false;
    - /* httpsiframesrc: "blank.htm", */.
    ===
    Arie.
  15. TheWinterSolstice's Avatar
    Hi Arie (and ddadmin),
    Thank you so much for your persistence!! I tried what you suggested (the blank.html thing) for the All Levels Nav Menu, and the problem remains. Sorry!

    By the way, at the risk of confusing this chat, let's for a second look at IE8's problems with the Smooth Nav Menu:
    1. The "Smooth Navigational Menu" displays the information bar because scripting is activated. If I disallow scripting, the error will not display, but the menu won't work either.
    2. When you go to the page of Smooth Nav Menu (http://www.dynamicdrive.com/dynamici...smoothmenu.htm) note that on IE8 you will not see the second meneubar, the one just under the title "Putting the Menu contents..." I noticed that because I was thinking of using Ajax to load the menu, but now I see it won't work.
    3. Since in both your and ddamin's machine these two menus are working, I am curious to know if you have IE set to allow some stuff.
    4. The Million dollar/pound/yen/peso question: can we have a version of the dropdown menu that would not need JavaScript? What features would we have to relinquish if we get the JS-dependant parts of it out?
    Thank you for your patience.
    Best Regards, The WinterSolstice
  16. molendijk's Avatar
    Hi TheWinterSolstice,

    Now I'm getting really curious about your machine. Does the menu work with you in IE7? To verify that, put <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"> in the head (before the title tag).
    ===
    Arie.
  17. eh4b's Avatar
    I am using the Bullet List Accordian Menu and even in the sample now on the site, in IE8, the spacing is messed up. Each header use to stay separated by a white row. Now they squish together every which way differently. Any clue how to fix it? Is DD going to put out a corrected version? Thanks for any assistance.
    - Miriam
  18. molendijk's Avatar
    Hello TheWinterSolstice,
    I checked the All Levels Menu at my work, where I have IE8 installed. This works perfectly on my machine.
    ===
    Arie.
  19. TheWinterSolstice's Avatar
    Hi Arie,
    Much much gratitude for your willingness to help.
    I have several answers:

    ***** Part #1 *****
    Putting in my page <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"> did not help at all.

    ***** Part #2 *****
    Since you asked about meta tags etc, here is the top part of my html file, perhaps you will see an "offending" command there:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    <link rel="SHORTCUT ICON" href="/favicon.ico" type="image/x-icon">
    <link rel="icon" href="/favicon.ico" type="image/x-icon">
    <link rel="stylesheet" type="text/css" href="css/default.css" />
    <link rel="stylesheet" type="text/css" href="ddlmenu/ddlmenu-base.css" />
    <link rel="stylesheet" type="text/css" href="ddlmenu/ddlmenu-topbar.css" />

    <script type="text/javascript" src="ddlmenu/ddlmenu.js"></script>

    <title>XYZ Corp - Home</title>
    </head>
    <body>

    ***** Part #3 *****
    Please keep in mind that in order to test I'm using IE8 after resetting it to "factory" settings, meaning: |Tools |Internet Options |Advanced |Reset |Reset. After that I choose |Tools |Developer Tools |Disable and I unselect "Script" otherwise JavaScript stuff won't work. You and ddadmin have mentioned that stuff works fine on your IE8. The question is, what are your IE settings? When you install IE8 it inherits the settings of your previous IE settings, and I'm pretty sure our settings are not the same. If you do what I did, do the menus still work on your side?

    ***** Part #4 *****
    You say: "I checked the All Levels Menu at my work... works perfectly on my machine". When I click on the link, not on mine. See my note in part #3.

    ***** Part #5 *****
    Meanwhile I have found a web site where they have great menus and they all work on IE8 (and all other browsers) without any problems. The site is http://www.cssplay.co.uk (a site by the guy who runs http://www.stunicholls.com) and their stuff works flawlessly. I think I'm going to use their stuff, instead of bothering you guys with questions.

    ***** Part #6 *****
    I'll come back here in a few to see if new entries have been added to this thread. If I'm the only one with issues, obviously the problem is with my machine. If you have 1000 people leaving messages, well, then, you guys will have better chances of finding what the cause of what I'm experiencing is.

    ***** Part #7 *****
    Thank you so much for taking the time to help!!! Many many thanks.
    Best Regards,
    TheWinterSolstice
  20. molendijk's Avatar
    The fact that adding <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"> doesn't help most probably means that the blame is not on IE8, but on your machine.
    If you're looking for other menus, here's one that I like.
    ===
    Arie.
Page 1 of 2 12 LastLast