Like the title says, after enabling the javascript file optimization in the Performance section IE6 and IE7 will not render flash:

"You are missing some Flash content that should appear here! Perhaps your browser cannot display it, or maybe it did not initialize correctly."

Firefox 3.6.3, Chrome 4.1 and Opera 10.53 seem to be fine. I wasn't able to confirm whether this error also appears in IE8. I will test that tonight at home.

To add to the mix this also breaks adminmenu's dropdown menus in IE6.

In IE6 and IE7 the following errors are generated:

Line: 38
Char: 1
Error: 'swfobject' is undefined
Code: 0
URL: <current page>
Line: 23
Char: 1
Error: 'jQuery' is undefined
Code: 0
URL: <current page>

Comments

kaido.toomingas’s picture

Hei I got this error too when I enabled wpaudio.. There is error with 1 pixel out too. There will be line 35. This will show up ie5.5 - ie 8.
I found a patch http://drupal.org/node/803750

RedTop’s picture

Thanks for letting me know!! I will apply the patch tomorrow and see how it goes.

RedTop’s picture

Downloaded new dev and tested in IE7 (IE6 crashes, but that may have to do with the hacky IE collection. Will test tomorrow)

Above error does not appear on IE7 anymore.

[edit]
Tested it on a 'proper' IE6 install and can confirm this error does not appear anymore.

SchwebDesign’s picture

Title: Optimize JavaScript files breaks SWFtools in IE6 and IE7 » Optimize JavaScript files breaks SWFtools in IE6 and IE7http://drupal.org/node/801666

I recently had this exact same problem using SWF Tools 6.x-3.0-beta4 with the onepixelout plugin for audio. It only happened for me when viewing the page in IE8 but in the IE7 comparability mode. In my case i also had one audio file displayed with onepixelout and one video file displayed with Flowplayer 3 on the same page.

I fixed the problem using the same fix posted above, however i applied the fix to a different file: swftools_onepixelout.js

I changed line 34 from

    },

to

    }

Thus the entire swftools.onepixelout function now looks like this:

/**
 * Define OnePixelOut functions here.
 */
swftools.onepixelout = function() {
  var instances = [];
  return {
    pushInstance: function(playerID) {
      instances.push(playerID);
    },
    closeAll: function(playerID) {
      for(var i = 0; i < instances.length; i++) {
        player = swftools.getObject('swf-' + instances[i]);
        if(instances[i] != playerID) {
          player.SetVariable('closePlayer', 1);
        }
        else {
          player.SetVariable('closePlayer', 0);
        }
      }
    }
  }
}();

Perhaps this should be added as a patch as well? Thanks so much for this module- i have been amazed by the functionality and extremely excited to use it!

kmonty’s picture

Status: Active » Fixed

Looks like this is fixed in the latest dev?

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.