Fungi Forums

TMK Stuff => Site Discussion => Topic started by: Quasar on July 27, 2001, 06:01:00 PM

Title: JavaScript fade-in problem for IE 4.0, solution within
Post by: Quasar on July 27, 2001, 06:01:00 PM
In my version of IE (4.72.3110), there is no concept of document filters, so I get not one but TWO annoying JavaScript errors when loading the index page saying that "document.body.filters.0 is not an object"

In JavaScript any time you try to access a property of an object that does not exist, you receive the value null, so you can check against this value to ensure said property exists before manipulating it, and this avoids the problem.

Simply add an if statement around the statements that access filters[0], as such:

if(document.body.filters[0] != null) { ... }

If the field doesn't exist, the code won't execute and no error should occur

Quasar
Title: Re: JavaScript fade-in problem for IE 4.0, solution within
Post by: Quasar on July 27, 2001, 06:07:56 PM
Actually I was thinking and it would probably be smarter to check if document.body.filters exists, without adding an index, since if filters is null, the implied dereferencing of null may still cause the same error.  So change the fix above to:

if(document.body.filters != null) { ... }

Quasar
Title: Re: JavaScript fade-in problem for IE 4.0, solution within
Post by: MEGAߥTE on July 27, 2001, 10:29:24 PM
Yeah.. but that breaks other browsers.. if you're going to use M$ crap, as least use new M$ crap..
Title: Re: JavaScript fade-in problem for IE 4.0, solution within
Post by: MEGAߥTE on July 27, 2001, 10:33:47 PM
You should check out what you're talking about before you post a "solution" btw.. this is an example of the actual code:
if(document.body.filters&&navigator.userAgent.indexOf('MSIE 5.0')<0){document.body.filters[0].Apply();}

so I'm not sure what the deal is with your browser.. you didn't even tell me what the errors were.
Title: Re: JavaScript fade-in problem for IE 4.0, solution within
Post by: MEGAߥTE on July 27, 2001, 10:35:09 PM
I guess I need to make sure that it doesn't have "MSIE 4" either because apparently IE4 is too stupid to realize it doesn't have filters..
Title: Re: JavaScript fade-in problem for IE 4.0, solution within
Post by: Quasar on July 29, 2001, 02:16:33 PM
Oops sorry I did not realize that you already had that checked, I just assumed that IE should treat the absence of that property properly. I guess you're right, it must have some bug relating to the filters that makes it incorrect.

Deezer says he wants to keep this site compatible with as many browsers as possible, even stating that it worked ok in Netscape 2; that's the only reason I tried to help... I'll look further into the matter.

Quasar

Edited by - Quasar on 7/29/2001 2:11:39 PM
Title: Re: JavaScript fade-in problem for IE 4.0, solution within
Post by: Quasar on July 29, 2001, 02:32:23 PM
I just made up a test file with this code:

if(document.body.filters && navigator.userAgent.indexOf('MSIE 5.0') < 0)
{
   if(document.body.filters[0] == null)
   {
      document.writeln("filters[0] is null\n");
   }
   else
      document.body.filters[0].Apply();
}

The if statement is true, so its the filter that's undefined, not document.body.filters Its apparently the method being used to give the page a filter that's not supported, ie this:

<BODY BACKGROUND="_tmk_bg.gif" BGCOLOR="#000000" LINK="#6699CC" VLINK="#6699CC" TEXT="#A8A8A8" ALINK="#00F800"
STYLE="filter:progid:DXImageTransform.Microsoft.Pixelate();">

Is that some kind of VBScript function? I'm not familiar with it myself.

Quasar
Title: Re: JavaScript fade-in problem for IE 4.0, solution within
Post by: David on July 30, 2001, 12:07:43 AM
If anyone cares, I use Opera... and I have never seen the fade in effect. ;)
Title: Re: JavaScript fade-in problem for IE 4.0, solution within
Post by: Quasar on July 30, 2001, 03:02:38 PM
Too bad it doesn't work for me, I think it would look neat :->  I suppose I really should upgrade my browser like megabyte suggested.

Quasar
Title: Re: JavaScript fade-in problem for IE 4.0, solution within
Post by: DaMimster on August 07, 2001, 11:41:25 PM
I only see it on my dad's version of IE but not mine, and i'm pretty sure that we have the same versions.  I have a 56K Modem, and he has a 128K, that might be the problem, i don't know...

DaMimster
I wish I had a life, or else I wouldn''t be sitting in front of this computer posting on this message board for others like me.  **Looks at Camera** Hello there, how are yo.. I Lost you anyway...