2
Answers

Detecting Flash in a User Control

charles

charles

15y
5.9k
1

Here is my setup:

Master.MasterPage -> Content.aspx -> UserControl.ascx

UserControl has the swf object on it, but since it is a user control, there is no head or anything like that. It is simply a table with the object and detection script init. Now here is the last one I tried: This is the code from my Content Page -

<script src="IntelliSafeWebDoc/AC_OETags.js" language="javascript" type="text/javascript"></script>

<script language="JavaScript" type="text/javascript">
    <!--
    // -----------------------------------------------------------------------------
    // Globals
    // Major version of Flash required
    var requiredMajorVersion = 9;
    // Minor version of Flash required
    var requiredMinorVersion = 0;
    // Minor version of Flash required
    var requiredRevision = 28;
    // -----------------------------------------------------------------------------
    // -->

</script>

 

Code Behind on Content page:

protected void Page_Load(object sender, EventArgs e)
{
    HtmlGenericControl body = (HtmlGenericControl)Master.FindControl("theBody");
    body.Attributes.Add("onload", "pageInit();");
}

 User Control code:

<table cellpadding="0" cellspacing="0" class="sectionlayout">
                            <tr>
                                <td style="text-align: right">
                                    <asp:Label ID="lblSigCapObj" runat="server">
                                           <script language="JavaScript" type="text/javascript">
                                            <!--
                                            // Version check for the Flash Player that has the ability to start Player Product Install (6.0r65)
                                            var hasProductInstall = DetectFlashVer(6, 0, 65);

                                            // Version check based upon the values defined in globals
                                            var hasRequestedVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);

                                            // Check to see if a player with Flash Product Install is available and the version does not meet the requirements for playback
                                            if ( hasProductInstall && !hasRequestedVersion ) {
                                                // MMdoctitle is the stored document.title value used by the installation process to close the window that started the process
                                                // This is necessary in order to close browser windows that are still utilizing the older version of the player after installation has completed
                                                // DO NOT MODIFY THE FOLLOWING FOUR LINES
                                                // Location visited after installation is complete if installation is required
                                                var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
                                                var MMredirectURL = window.location;
                                                document.title = document.title.slice(0, 47) + " - Flash Player Installation";
                                                var MMdoctitle = document.title;

                                                AC_FL_RunContent(
	                                                "src", "example",
	                                                "FlashVars", "MMredirectURL=" + MMredirectURL + '&MMplayerType=' +MMPlayerType + '&MMdoctitle=' + MMdoctitle + "",
	                                                "width", "100%",
	                                                "height", "100%",
	                                                "align", "middle",
	                                                "id", "example",
	                                                "quality", "high",
	                                                "bgcolor", "#ffffff",
	                                                "name", "example",
	                                                "allowScriptAccess","sameDomain",
	                                                "type", "application/x-shockwave-flash",
	                                                "pluginspage", "https://www.adobe.com/go/getflashplayer",
	                                                "allowFullScreen", "true",
	                                                "menu", "false"
                                                );                                                
                                            } else if (hasRequestedVersion) {
                                                // if we've detected an acceptable version
                                                // embed the Flash Content SWF when all tests are passed
                                                AC_FL_RunContent(
		                                                "src", "example",
		                                                "width", "100%",
		                                                "height", "100%",
		                                                "align", "middle",
		                                                "id", "example",
		                                                "quality", "high",
		                                                "bgcolor", "#ffffff",
		                                                "name", "example",
		                                                "allowScriptAccess","sameDomain",
		                                                "type", "application/x-shockwave-flash",
		                                                "pluginspage", "https://www.adobe.com/go/getflashplayer",
		                                                "allowFullScreen", "true",
		                                                "menu", "false"
                                                );                                                
                                            } else {  // flash is too old or we can't detect the plugin
                                                var alternateContent = 'This content requires the Adobe Flash Player. '
                                                + '<a href=https://www.adobe.com/go/getflash/>Get Flash</a>';
                                                document.write(alternateContent);  // insert non-flash content
                                            }
                                            // -->
                                        </script>
                                        <input type="button" id="btnClear" value="Clear" onclick="interfaceObj.clearFlex();" />   
                                    </asp:Label>
                                    <br />
                                    <input type="hidden" id="flexStuff" runat="server" />
                                </td>
                            </tr>
                        </table>

 Now the Flex Component will not even display?!!! What in the world do you have to do to detect flash in a multi browser environment?!! This should not be that hard. If I take and put all of this code together on the same page, it renders properly and even gives me the error when I uninstall flash. Can this be done, and I just have some of the code in the wrong places?

 

Thanks,

CK

Answers (2)