1. Do you know why is the "Settings..." option in the Flash Player context menu grayed out?

Flash Player's "Settings" panel has a minimum size of 214x137 pixels. If your embedded SWF is smaller than 214x137, Flash Player will not have enough room to display the settings panel, and will make the "Settings..." menu item inactive (grayed out). If you would like the "Settings..." menu item to be clickable, you will need to ensure your SWF is at least 214px wide by 137px tall.

This size constraint also applies to the Express Install dialog.

2. Explain why can we see memory usage increase on every page refresh in Internet Explorer?

Recently the team from Anychart.com discovered the reason behind a long standing apparent Flash Player 9/10 memory leak when a user refreshes the page. This bug affects HTML pages which has a swf embedded on the page (whether using SWFObject or not) when viewed in IE 6/7/8. The reason for the bug was actually not the Flash player itself, but the Skype IE plug-in.

3. Tell me why does Internet Explorer 6 and 7 show the error message J.parentNode is null or not an object?

This happens when the SWFObject library (versions 2.0 or 2.1) are included more than once on the same web page. To avoid this, make sure that your swfobject.js file is only included once. SWFObject 2.2 will include a fix for this issue.

4. Tell us why does Firefox report Permission denied to call method Location.toString in the error console?

When you create an iframe on a page that resides on a different domain than the parent page you will get this error which is caused by the Flash plug-in.

5. Do you have any idea why do stage.stageWidth and stage.stageHeight return 0 in Firefox or Internet Explorer when using dynamic publishing?

When using the dynamic publishing method in Internet Explorer or Firefox on Mac stage.stageWidth and stage.stageHeight might initially return 0 (note that for Internet Explorer the stage size will be available on first load, however when reloading or revisiting a page it will initially be 0).

The solution is to define a resize handler in your ActionScript code. The Flash Player team was obviously aware of this issue and therefore the Flash Player will keep on triggering the stage.resize event until it receives its actual width and height.

An AS3 example:

stage.addEventListener(Event.RESIZE, resizeHandler);
stage.dispatchEvent(new Event(Event.RESIZE)); // force stage resize event for normal cases

function resizeHandler(event:Event):void {
if (stage.stageHeight > 0 && stage.stageWidth > 0) {
stage.removeEventListener(Event.RESIZE, resizeHandler); // only execute once
// your initialization code here
}
}

6. Why would not Flash Player 10 display my SWF file?

A new security feature in Flash Player 10 causes SWF's not to be displayed when a HTTP server sends the following response: Content-Disposition: attachment.

7. How to know which Flash Player version is installed and which version is detected by SWFObject?

The Flash Player version as installed by:

Firefox 3: Type "about:plugins" in the location/address bar and look for the "Shockwave Flash" entry
Safari 3: Click "Help > Installed Plug-ins" in the main menu and look for the "Shockwave Flash" entry

The Flash Player version as detected by:

SWFObject 2
Flash (using HTML `object` element only)
Flash (using HTML `embed` element only)

8. Where can we find older Flash Player versions, e.g. to test Adobe Express Install?

Flash Player uninstaller
Archived Flash Player versions for testing purposes
The latest released version of Flash Player

When you run an archived Flash Player on Intel-based Macintosh computers please keep in mind that there are two types of Mac installers:

A universal binary installer includes both a version of Flash Player that runs natively on Intel-based Macs and a PowerPC version.
PowerPC installers require browsers to run in Rosetta, which is a special mode that runs older legacy PowerPC applications on Intel-based Macs. You can force a browser to open in Rosetta by opening the info window in Finder (clicking the app and selecting "Get Info"), then ticking the "Open in Rosetta" box. New versions of Safari and Opera no longer support this, but Firefox 3 does.

9. How to disable Flash Player or JavaScript?

For static publishing and dynamic publishing you can enable/disable your Flash Player by:

Internet Explorer 7: Menu: Tools > Internet Options, Program Tab, click button: Manage add-on, Filters, Add-ons that run without requiring permission, select Shockwave Object, click Enable/Disable button at bottom, close and restart browser
Firefox 3: Menu: Tools > Add-ons, Plugins tab, Select Shockwave Flash, enable/disable
Safari 3: Menu: Safari > Preferences, Security tab, Web content: check Enable plug-ins
Opera 9.5: Menu: Opera > Quick Preferences > Enable Plug-Ins

For dynamic publishing you can enable/disable JavaScript by:

Internet Explorer 7: Menu: Tools > Internet Options, Security tab, click icon: Internet, click button: Custom Level, scroll to the "Scripting" section of the list, click radio button Disable under Active scripting, close and restart browser
Firefox 3: Menu: Firefox > Preferences, Content tab, Check Enable JavaScript
Safari 3: Menu: Safari > Preferences, Security tab, Web content: check Enable JavaScript
Opera 9.5: Menu: Opera > Quick Preferences > Enable JavaScript

10. Do you know why does Firefox load my SWF twice?

Firefox 3 has a known issue that sometimes causes a swf to be 'double initialized'. The problem appears to be fixed in their codebase, but has not been released yet. See the following bugs for more details: bug 438830 and bug 445599.

Or, if you have "Disable cache" selected in your Firefox Web Developer Toolbar extension a double load will occur.

Download Interview PDF