views:

1426

answers:

2

Hi,

I seem to have a problem with SIFR3. I'm using version 436 and from all my testing it appears to be a problem associated with IE6 and IE7 as I cannot replicate the issue in Firefox, Chrome, Safari for Windows, or even IE8.

The problem is occurring on my company's website and can be seen here: http://www.wyldeia.co.uk/blog.php

When you first go to the page in IE6 or IE7 it appears to render fine. However if you click away onto another page and then click the back button in the browser, all of the text is replaced by an error saying "Rendered with sIFR3 revision 436". If you refresh the page, then the problem goes away, that is until you browse away and come back again.

I've tried this on two separate machines both running IE7.0.6000.16809, and a further separate machine running IE6 which I then upgraded to IE8. I thought initially it might be Flash player related but on upgrading from version 9 to 10 of the flash player the problem remains. Further digging around indicated that the error can be caused by having a corrupted flash font file, or having one present that was generated with a previous revision of SIFR3. However I have exported the flash font file using the supplied fla with revision 436 but the problem remains.

Usually I like to track the answer down myself but as it is I'm at a bit of a loss on this one so if anyone has any ideas what might be happening here then I would be very grateful!

Regards,

Mark

A: 

The only case I know where this may happen is if the innerHTML of an ancestor of the sIFR movie gets changed. This resets the Flash movie HTML, which in IE causes the Flash variables to be lost. Normally sIFR works around this, but perhaps it can't if the change happens after going back through the browser history.

Suggestions:

  1. Is there code running on the page that sets innerHTML properties? Try disabling this.

  2. Try disabling any non-sIFR code and see if that helps.

  3. Set sIFR.useDomLoaded = false; before sIFR.activate(), this delays sIFR initialization until page load, so perhaps whatever is causing this will have run at that time.

If it is indeed this problem, I don't think there is any workaround left. But it'd be a good thing to know for sure.

Mark Wubben
Hi Mark,Thanks for the reply, turns out that the problem was being caused by code that sets innerHTML properties. Once that was removed sIFR started working without issue in both IE6 and IE7.Thanks a lot for pointing me in the right direction!Cheers,Mark
A: 

I had the same symptom and remedied it by setting the containing element's font-size to use px instead of em.

btamilio