Log in

View Full Version : IE 9 Becoming a Nightmare! May All its Developers Get Fired!



KennyP
08-24-2012, 11:33 PM
Hi guys,

Do you know what MS did with IE 9 to cause the following issue?

In IE 7 and 8, the pages of a site I built for a friend (http://www.billyjoeconor.com/) loaded very smoothly with a jquery fade effect on loading and on onloading when navigating from page to page. However, suddenly with IE 9 the same pages are now preceded with a completely white page, and then they're followed with white sections within the main body content, until finally the page displays completely. What did they do to it?

--Thanks

keyboard
08-25-2012, 12:54 AM
I'm using IE9 and it looks fine...

bernie1227
08-25-2012, 12:55 AM
I however am also getting a white screen first on ie9

bernie1227
08-25-2012, 12:56 AM
have you tried preloading? images, as there seem to be a lot of images on the site,
have a look here (http://www.dynamicdrive.com/dynamicindex4/preloadimage.htm) at the dynamic drive preloading script

KennyP
08-25-2012, 01:39 AM
Thanks for your reply guys.

Bernie,

As a matter of fact, one of the reason page transitions were so smooth in IE 7 and 8 is because all images preload during the welcome page display, which is the reason I added the welcome page to begin with. Also I added the following meta tags which really made the transitions extra clean and smooth...

<META HTTP-EQUIV="Page-Exit" CONTENT="BlendTrans(Duration=0.0)">
<META HTTP-EQUIV="Page-Enter" CONTENT="BlendTrans(Duration=0.0)">
Now neither of these seem to be having the effect they had with IE 7 and 8.

bernie1227
08-25-2012, 02:00 AM
the problem is that ie9 handles preloading slightly differently. What are you using currently in order to preload?

To be honest, the difference isn't that noticable and the amount of users using ie9 probably won't be that big.

KennyP
08-25-2012, 02:28 AM
The following is a sample of how all images are preloaded, which still works great in FF, but I'd like to get transitions as smooth as they were in IE 7 and 8 as well:


<style>
div#preloaded-images {
position:absolute;
overflow:hidden;
left:-9999px;
top:-9999px;
height:1px;
width:1px;
}
div#backgd {
background:url(http://www.billyjoeconor.com/images/bg.gif) no-repeat -9999px -9999px;
}
</style>

<body>
<div style="margin-left:0px; margin-top:1px; margin-right:0px;" id="backgd"></div>

<div id="preloaded-images">
<img src="http://www.billyjoeconor.com/images/bg.gif" width="1" height="1" alt="Image 00">
</body>

bernie1227
08-25-2012, 02:41 AM
so you're not using javascript to preload? You may want to in order for it to work on ie9, refer to the link posted earlier.

jscheuer1
08-25-2012, 02:45 AM
First thing I would try is disabling the IE proprietary transitions for IE 9. IE 9 acts more like modern browsers and as such these proprietary transitions can often cause problems in it. To do so (additions highlighted):


. . . eng+1) {
start=0
if (repeat==0)
return
}
setTimeout("titlemove()",200)
}
if (document.title)
titlemove()
</script> -->
<!--[if lt IE 9]>
<META HTTP-EQUIV="Page-Exit" CONTENT="BlendTrans(Duration=0.0)">
<META HTTP-EQUIV="Page-Enter" CONTENT="BlendTrans(Duration=0.0)">
<![endif]-->
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<meta name="robots" content="index,follow,archive">
<meta name="description" content="Billy Joe Conor bri . . .

To really see if this is helping or not, the comment tags above should be applied to all pages. After that the browser cache may need to be cleared and/or the pages refreshed to see changes.

Do it and leave it up like that even if it doesn't fix it, that way we can see what else might be at issue.

KennyP
08-25-2012, 03:13 AM
Thanks bernie, and thanks John. I'll try adding if IE tags and see if it helps.

EDIT: Thanks John, but unfortunately it doesn't help. It's a shame what IE 9 is doing to the great fade script you had written for me a year ago. I'll search for the loading script and try it.

jscheuer1
08-25-2012, 03:22 AM
The pages have not been updated

bernie1227
08-25-2012, 03:35 AM
he probably tested it offline

jscheuer1
08-25-2012, 04:45 AM
That doesn't help us in diagnosing the problem further.

Oh, and by the way, it does the same thing or similar in Chrome. So it's probably not preloading. I think the styles might be the wrong order, waiting for the body tag to establish the background image and color. No background color appears set for the HTML element, and there may be a container. There's something white flashing, that much is fairly sure.

bernie1227
08-25-2012, 05:16 AM
I'm not getting that issue in chrome

jscheuer1
08-25-2012, 05:28 AM
It's intermittent. But it is there if I switch between pages. Like Friends and Home and back again. 3 or 4 out of 5 times it flickers white first, either the whole page or a section of it.

KennyP
08-25-2012, 06:44 AM
I entered the <!--[if lt IE 9]> code to every page of the site.

As for trying a preloader as opposed to the current type of image preloading I'm using, the only two I've located here on Dynamic Forums are "Preload Image (with progress bar) Script I and II. Unless you're aware of a better one I'll go ahead and try these.

Wait - Actually, I just realized all the images are being loaded by the welcome page during its display. So, when all the other pages display, all images are already loaded. Should it make a difference how they were loaded?

KennyP
08-25-2012, 07:47 AM
OK, I now added Preload Image (with progress bar) Script II posted here on Dynamic Forums. Unfortunately not only doesn't it make a difference, but the images are not preloading as well or not at all. Could you guys please recommend one you know works?

It boggles the mind to see that all the MS developers can't release a better browser when it's been in development for more time than all the others. We shouldn't have to devise fixes for their shortcomings. It doesn't make sense and something is terribly wrong with that.

jscheuer1
08-25-2012, 07:56 AM
Perhaps. But I would get the css in order first. In Chrome when switching back and forth between home and friends, it often goes white. That means that the images aren't being called in time and that the background color of #000000 is being parsed too late to prevent a white flash.

At the very beginning of css/style.css there's:


body {padding:0; margin:0; color:#000000}

It should perhaps be:


html, body {padding:0; margin:0; color:#ffffff; background-color: #000000 !important;}

The browser cache may need to be cleared and/or the pages refreshed to see changes.

About the preloading though, I don't see any active preloading. The images are there as background images and foreground images but there's no mechanism in place that I see that ensures these are loaded before the home or other pages are loaded.

You could do active preloading where you check to ensure the images are loaded before leaving the welcome page. But with so many images, that could take awhile. Let's try the css first. There could be other css tweaks as well.

KennyP
08-25-2012, 08:18 AM
Thanks John. The following change you posted...
html, body {padding:0; margin:0; color:#ffffff; background-color: #000000 !important;} in conjunction with the preload script on every page fixed the partial white sections and full white pages before page loads on most page loads; not all. However, the transitions are not yet smooth; the new settings and script changed the white before page load to black, which is an improvement.

I did add the preload script preloader.js to all pages (which is being called from the scripts folder). The images however don't seem to be loading well, especially the page's main image of Billy Joe; it doesn't seem to preload; rather, it loads after the rest of the page. Maybe a better preloading script might fix the entire issue and restore the smooth transitions as they were previously? Would you please recommend one?

By the way, I also cleared the browser cache and the css and script cache folder I have in the root on the server, which functions with this script to decrease site loading time...


<?php

/************************************************************************
* CSS and Javascript Combinator 0.5
* Copyright 2006 by Niels Leenheer
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/


$cache = true;
$cachedir = dirname(__FILE__) . '/cache';
$cssdir = dirname(__FILE__) . '/css';
$jsdir = dirname(__FILE__) . '/scripts';

// Determine the directory and type we should use
switch ($_GET['type']) {
case 'css':
$base = realpath($cssdir);
break;
case 'javascript':
$base = realpath($jsdir);
break;
default:
header ("HTTP/1.0 503 Not Implemented");
exit;
};

$type = $_GET['type'];
$elements = explode(',', $_GET['files']);

// Determine last modification date of the files
$lastmodified = 0;
while (list(,$element) = each($elements)) {
$path = realpath($base . '/' . $element);

if (($type == 'javascript' && substr($path, -3) != '.js') ||
($type == 'css' && substr($path, -4) != '.css')) {
header ("HTTP/1.0 403 Forbidden");
exit;
}

if (substr($path, 0, strlen($base)) != $base || !file_exists($path)) {
header ("HTTP/1.0 404 Not Found");
exit;
}

$lastmodified = max($lastmodified, filemtime($path));
}

// Send Etag hash
$hash = $lastmodified . '-' . md5($_GET['files']);
header ("Etag: \"" . $hash . "\"");

if (isset($_SERVER['HTTP_IF_NONE_MATCH']) &&
stripslashes($_SERVER['HTTP_IF_NONE_MATCH']) == '"' . $hash . '"')
{
// Return visit and no modifications, so do not send anything
header ("HTTP/1.0 304 Not Modified");
header ('Content-Length: 0');
}
else
{
// First time visit or files were modified
if ($cache)
{
// Determine supported compression method
$gzip = strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip');
$deflate = strstr($_SERVER['HTTP_ACCEPT_ENCODING'], 'deflate');

// Determine used compression method
$encoding = $gzip ? 'gzip' : ($deflate ? 'deflate' : 'none');

// Check for buggy versions of Internet Explorer
if (!strstr($_SERVER['HTTP_USER_AGENT'], 'Opera') &&
preg_match('/^Mozilla\/4\.0 \(compatible; MSIE ([0-9]\.[0-9])/i', $_SERVER['HTTP_USER_AGENT'], $matches)) {
$version = floatval($matches[1]);

if ($version < 6)
$encoding = 'none';

if ($version == 6 && !strstr($_SERVER['HTTP_USER_AGENT'], 'EV1'))
$encoding = 'none';
}

// Try the cache first to see if the combined files were already generated
$cachefile = 'cache-' . $hash . '.' . $type . ($encoding != 'none' ? '.' . $encoding : '');

if (file_exists($cachedir . '/' . $cachefile)) {
if ($fp = fopen($cachedir . '/' . $cachefile, 'rb')) {

if ($encoding != 'none') {
header ("Content-Encoding: " . $encoding);
}

header ("Content-Type: text/" . $type);
header ("Content-Length: " . filesize($cachedir . '/' . $cachefile));

fpassthru($fp);
fclose($fp);
exit;
}
}
}

// Get contents of the files
$contents = '';
reset($elements);
while (list(,$element) = each($elements)) {
$path = realpath($base . '/' . $element);
$contents .= "\n\n" . file_get_contents($path);
}

// Send Content-Type
header ("Content-Type: text/" . $type);

if (isset($encoding) && $encoding != 'none')
{
// Send compressed contents
$contents = gzencode($contents, 9, $gzip ? FORCE_GZIP : FORCE_DEFLATE);
header ("Content-Encoding: " . $encoding);
header ('Content-Length: ' . strlen($contents));
echo $contents;
}
else
{
// Send regular contents
header ('Content-Length: ' . strlen($contents));
echo $contents;
}

// Store cache
if ($cache) {
if ($fp = fopen($cachedir . '/' . $cachefile, 'wb')) {
fwrite($fp, $contents);
fclose($fp);
}
}
}

bernie1227
08-25-2012, 12:10 PM
Also look here (http://perishablepress.com/3-ways-preload-images-css-javascript-ajax/)
For more information about preloading.

KennyP
08-25-2012, 01:38 PM
Thanks for the info Bernie.
Coincidentally that site is where I originally got the CSS preload method I was using previously, which was actually working very well as far as preloading the images. John's code correction got rid of the initial white page which was being displayed, and instead now the page is black, as it should be; thereby making the same problem which is still there not as conspicuous. However, IE 9 is still delaying the display of the content on these pages, which doesn't seem to be caused by image loading time -- if I'm interpreting what I see correctly.

jscheuer1
08-25-2012, 03:59 PM
I haven't looked exhaustively at the various pages, but aren't those main images the same for all of them? If so those could be put at the beginning of the css file just like the background color was. Like:

images/brook.gif

for the td, you could give it a class or id selector in the markup and set its background and other styles in css rather than inline. So instead of having this in the markup:


<td valign="right" width="766" height="424" style="background-image:url(images/brook.gif); background-position:top right; background-repeat:no-repeat;">

You could make that like so:


<td id="brookbg">

And:

images/bg.gif

for the body. Then right after the declaration we just modified:


html, body {padding:0; margin:0; color:#ffffff; background-color: #000000 !important;}
body {background-image: url(/images/bg.gif) !important;}
#brookbg {
width: 766px;
height: 424px;
background-image:url(/images/brook.gif);
background-position: top right;
background-repeat: no-repeat;
}

That will at least give the browser more of a chance to load those images more quickly.

molendijk
08-25-2012, 08:45 PM
Hello KennyP,
These lines:

<META HTTP-EQUIV="Page-Exit" CONTENT="BlendTrans(Duration=0.0)">
<META HTTP-EQUIV="Page-Enter" CONTENT="BlendTrans(Duration=0.0)">
don't work in IE9, so even if you follow John's suggestion, the flicker will persist (if there's flicker) with IE9; it won't go away.
Note also that the flicker is even worse with the Google Chrome browser (try it; it's horrible)
Preloading images may help or not; there are numerous cases in which it doesn't work.
In my experience, the only way to get out of this is to put the image(s) explicitly on each page (don't include them via javascript).
Arie.
Edit:
When I posted this answer, I was reading page 1 of your thread and thought that was the whole thing. I only saw afterwards that there had been other answers, so there may be overlap.

KennyP
08-26-2012, 07:08 AM
Thanks once again John, but although logically it should effect an improvement, it actually made the problem more pronounced. It doesn't make sense.

jscheuer1
08-26-2012, 07:43 AM
Are you sure you had the paths to the images correct?

molendijk
08-26-2012, 02:24 PM
I'd like to add THIS (http://mesdomaines.nu/eendracht/include_jquery_style3/page1.html) to my previous post and the discussion in general.
Arie.

KennyP
08-26-2012, 09:19 PM
Yes John. Definitely the paths were correct. It seems that the browser insists on loading a blank page before loading the whole page, or at least delaying the page load.

Previously, when an image would load on the welcome page, it was cached for all other pages of the site. Is IE 9 different in this regard?


molendijk: Thanks for your input but I don't understand your point.

molendijk
08-26-2012, 10:40 PM
molendijk: Thanks for your input but I don't understand your point.
Try the link using IE9. When you click on page1, page2 and page3, you'll see that the big background doesn't cause flicker (white flash) on page transition. So there must be a way to accomplish that on your site too.

Btw, there's a CSS trick for preloading images:

body:after {content: url(your_first_img.jpg) url(your_second_img.jpj) url(your_third_img.jpg)}
etc.
Might work in your case. I know it works with Google Chrome, where caching images often poses problems.
Arie.

KennyP
08-27-2012, 01:16 AM
Thanks. I'll try that as soon as I get back home.

KennyP
08-27-2012, 07:59 AM
Thanks for your input moledijk:

If I understood correctly, I tried adding the image urls in the style tag after body as...

content: url(/images/billy-joe-conor.jpg) url(/images/brook.gif);
but it did not make a difference.

I also took a look at the links displaying Page 1 Page 2 Page 3 in your sample, and I do notice no flicker is produced in IE 9. However, I'm not sure how to configure the shown code in the pages I'm working on. What do I substitute in place of 'your_external_file_without_big_image.html', and how can I use id="some_div" for additional inages?

KennyP
08-27-2012, 09:28 AM
EDIT: Please see my last post - Problem Not Solved

I found the culprit that was producing the flickering effect (for the most part)

In order to improve an image caching problem for images in IE 8, I had entered the following code (from http://erik.eae.net/archives/2007/02/26/13.13.48/), and it worked.

document.execCommand("BackgroundImageCache", false, true)
When I just removed the above entry, suddenly the flickering stopped on most page loads, but not on all. The transitions however are still not as smooth and with the perfect fade-in and fade-out effect as they displayed in IE 7 and 8.

Please note however, when I previously tried removing the same above code in a page with the CSS image loading method (before replacing it with the new java image loader suggested earlier in this thread), there was none of this improvement.

I'm not sure what is happening, but if you guys do, would you please help me to further improve the transitions with the fade effect to be as good as in 7 and 8?

molendijk
08-27-2012, 09:46 AM
If I understood correctly, I tried adding the image urls in the style tag after body as...

content: url(/images/billy-joe-conor.jpg) url(/images/brook.gif);
but it did not make a difference.
No, that should be in the head:

<head>
<style>
body: after {content: url(/images/billy-joe-conor.jpg) url(/images/brook.gif);}
</style>
</head>


I also took a look at the links displaying Page 1 Page 2 Page 3 in your sample, and I do notice no flicker is produced in IE 9. However, I'm not sure how to configure the shown code in the pages I'm working on. What do I substitute in place of 'your_external_file_without_big_image.html', and how can I use id="some_div" for additional inages?
Doesn't matter anymore, since you solved your problem (?).
Arie.

KennyP
08-27-2012, 10:01 AM
Guys,

I don't know what's going on. When I first removed the following...


document.execCommand("BackgroundImageCache", false, true)

the problem began to go away. Instead, after not changing anything else, the flickering returned again as it was before the removal, and worse...

Now the main background color as was improved by John in the CSS...

html, body {padding:0; margin:0; color:#ffffff; background-color: #000000 !important;}
is now again displaying white before page loads. This is really weird. Do you have any idea what is happening?

www.billyjoeconor.com (http://www.billyjoeconor.com/)

molendijk
08-27-2012, 11:10 AM
On my sample page, I don't use the before and after pseudo-elements, just jQuery plus a hidden iframe to include external content.
It's difficult to tell you what to do, since you don't use a hidden iframe, but a server side include (PHP), and I don't know very much about PHP. (Someone out there?).
Maybe you could just do this:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script>
function include_image()
{
$('html').append('<div style="position:absolute; left:0px; top:0px; width:100%; height:100%; z-index:-1;"><img src="your_big_image.jpg" style="position:absolute; left:0px; top:0px; width:100%; height:100%; overflow:hidden" alt=""></div>')
}
</script>

<body onload="include_image()">
Of course, you should adapt the size and position of your image(s) to your needs.
Arie.

KennyP
08-27-2012, 11:34 AM
Thanks for the input molendijk. I entered that code on the home page but unfortunately it only intensified the white flash, so I quickly removed it.

molendijk
08-27-2012, 01:50 PM
That's maybe because you have left the images in the separate files? Remove them from there and let function include_image() do the job in each file.
Arie..

KennyP
08-27-2012, 02:23 PM
Thanks molendijk -- I wish that were the case and I could simply remove them -- but I had removed them from the separate files.

jscheuer1
08-27-2012, 05:19 PM
Hi folks I'm back in this thread again at least for a moment. I thought I'd give Arie a chance to work his magic. His approach might still work. It might be that you just didn't clear things out enough (caches, both server and client side) to see the true result. Or it could be that you did and his method could use more fine tuning. Or a bit of both perhaps. It's difficult for us to help you if we cannot see the results of our suggestions. To that end you might consider putting up one or more test areas where you duplicate the site or at least all of the relevant pages and support files as a sort of sandbox. As I say, since various things are being tried, you might need 2 or more of these test areas.

I have another idea, actually have had it for quite some time. The site is in quirks mode. If it were converted to standards mode and written to standards and really cleaned up, it might be easier to get things working well. The only reason I haven't mentioned it until now is the amount of work that would involve combined with the fact that there's no guarantee it will solve anything. It's also possible that it might solve most things but that you would lose your transitions or have to do something else in a somewhat more boring way to get it to work.

A note to Arie about PHP. All it does is present HTML, CSS, and/or javascript to the browser. It's not dynamic. If you look at the source code of the page, that's the source code that PHP has told the server to send to the browser, just like a regular page. It just adds another layer so that one page may be a template for many and/or stats/data can be compiled and/or used. In the rendering of the page it makes no difference. If the page's served source code isn't to your liking and/or invalid, you can edit the PHP code to make it the way you want/need. Just like you edit HTML.

molendijk
08-27-2012, 07:33 PM
Thanks for the PHP-info, John. So I managed to put a couple of the problematic pages on my hard disk, where the flicker went on with IE9 and Google Chrome. But your suggestion about quirks mode vs standard mode got me thinking. I replaced

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
with

<!doctype html>
<html >
<head>
and the flicker was gone, both with IE9 and Google Chrome! Brilliant (for now, of course, because I don't know what will happen on the Internet).
Kenny, just do the same and let's see what happens.
Arie.

KennyP
08-28-2012, 12:04 AM
Thanks so much Guys. I'm very grateful for your kindness.

After literally staying up all night trying to clear up the problem, still had to meet the day's chores. I will try the last suggestion as soon as I get back to my PC, and will report on it.

Again many thanks,

Kenny

KennyP
08-28-2012, 03:31 AM
OK - I changed the doctype as above...

<!doctype html>
<html >
<head>
The flickering was reduced by it but not eliminated, and it now had a black background flash, not white as it did previously. However, I had to quickly remove it because many items on the page got misaligned... text aligning right instead of left, and not aligning with images... search box and go-arrow re-arranged vertically... etc etc.

After reading your posts, rather than setting up additional pages for testing as a sandbox (which I don't know how to do), by PM I have sent you the ftp login to the site to be able to test a possible solution.

Thank you,

Kenny

molendijk
08-28-2012, 06:29 PM
Kenny,
Within a couple of days I'll be leaving for a place where I won't have a computer. I'll stay away for approx. 2 weeks. In the meantime, John may come up with a good solution for your problem.
I may have found a provisional solution for now. Just put in the head of EACH page, immediately after the opening tag (head):

Preloading the pages for IE:

<!--[if IE]>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script>
$('html').append('<iframe src="welcome.php" style="position:absolute;width:0px;height:0px" ></iframe>')
$('html').append('<iframe src="biography.php" style="position:absolute;width:0px;height:0px"></iframe>')
$('html').append('<iframe src="discography.php" style="position:absolute;width:0px;height:0px"></iframe>')
$('html').append('<iframe src="promotion.php" style="position:absolute;width:0px;height:0px"></iframe>')
$('html').append('<iframe src="friends.php" style="position:absolute;width:0px;height:0px"></iframe>')
</script>
<![endif]-->


Remove the white flash; for non-IE

<!--[if !IE]><!-->
<style>
html,body{background: black}
html{overflow-x: auto; overflow-y: scroll}
</style>
<!--<![endif]-->

You don't have to change the doctype.
Also, remove target="_top" in the hrefs. That may consume time and does nothing.

All of this works (more or less) in a simplified html-version I put HERE (http://mesdomaines.nu/billy/welcome.html).

You should also keep this in the head for IE<9 (I didn't in my demo):

<!--[if lt IE 9]>
<META HTTP-EQUIV="Page-Exit" CONTENT="BlendTrans(Duration=0.0)">
<META HTTP-EQUIV="Page-Enter" CONTENT="BlendTrans(Duration=0.0)">
<![endif]-->

Btw, there is a rather solid method to kill the flicker in all browsers, but I didn't mention it because it is a totally different approach to menu inclusion (and I seem to be the only one to use it; I developed it myself). Examples here (mesdomaines.nu/lesserknownclassicalmusic) and here (http://mesdomaines.nu/eendracht).

Good luck,
Arie.

KennyP
08-29-2012, 01:19 AM
Thank you molendijk. Unfortunately even with the addition of the above code the flicker continues.

Your site's pages look good in the iframe method you devised. But although Billy Joe's site's pages displayed perfectly in IE 7 and 8, they still flicker within the iframe viewed with IE 9.

BTW, I had tried to send you the site's login info as I sent to John, but your settings are not allowing personal messaging.

molendijk
08-30-2012, 08:09 PM
Kenny,
Just before going abroad (to a place where I don't have a computer), here (http://mesdomaines.nu/eendracht/include_menu_web_templates2)'s something I made some time ago. I had forgotten I ever made it. It explains how we can do page transitions without any flicker at all. That's an absolute garantee. My pages 1, 2 and 3 correspond with yourpages welcome.php, biography.php etc. The only real disadvantage of the method is that the correct url is not displayed in the browser's address bar. But there's a workaround. The technique is explained on page 1. It uses an iframe, but don't be afraid of iframes, they are not deprecated any more.
Arie.

bernie1227
08-30-2012, 08:38 PM
I like how the bird keeps pushing the screen across

molendijk
08-30-2012, 08:46 PM
I like how the bird keeps pushing the screen across
Thanks. Yes, unless we shoot the bird, it will go on flying across the screen even if we go from one page to another.
We could do the same thing with a video. It will go on playing - even on page change - until we close it. That's because page transition does not happen on the level of the main page, but of the iframed page(s).
Arie.

molendijk
09-19-2012, 10:59 PM
I think THIS (http://www.dynamicdrive.com/forums/showthread.php?70883-A-central-page-for-navigation-and-an-iframe-for-the-content-without-the-disadvantages) is a solution to KennyP's problem.
Arie.

garyheard
02-15-2013, 05:56 AM
I have the same problem whereas white screen flickers for a second and sometimes stays a white blank screen. It started after reinstalling Windows 7 64-bit then upgrading to IE9. I am also using hta in frames, which downgrades my applications to IE7. Originally thought is was directly related to using the <base href command after the <HEAD> in frames for local files. But it also happens intermittently when just opening the internet explorer. Microsoft does not perform sufficient testing and different IE browsers don't react the same to the base href command. Yes, Microsoft needs a Network Quality Assurance department that performs regression testing on different browsers and OS, instead of relying on the programmer's OS and browser. As a former NQA tester, most companies don't have software testers because... 1) they don't want to pay additional salaries 2) Programmers don't want their programs to fail QA testing 3) And finally they don't want to delays in the program being deployed. I am considering going back to IE 8, but IE8 has issues with the base href. Microsoft has hundreds of issues, and only concentrates on upgrades and not previous versions. YES, SOMEONE SHOULD BE FIRED. NOT THE PROGRAMMER, BUT THE MANAGEMENT THAT DOES NOT ENFORCE ADEQUATE TESTING.

molendijk
02-15-2013, 11:49 AM
In certain cases, the white flash is even worse in Google Chrome. I noticed it's often caused by window.onload=do_something. Replacing this with <script>do_something()</script> immediately before the closing body tag often reduces or removes the flash.