Hi,
had an experience with http://hbo.com and many users report being prompted to
download and install Flash when they know they have the latest version
installed.
It appear that the flash_detection.js will fail in IE10 if an ActiveX control
(flash) has been disabled or ActiveX filtering is blocking the control.
Test Case: turn on ActiveX Filtering in IE10 (Tools>ActiveX Filtering) and
navigate to http://hbo.com - you will be prompted to download and install the
latest version of Flash.
or
Disable Shockwave flash in IE by using the Addons Manager and repeat the above.
In MSIE there is no way to detect whether an AX control is installed, disabled
or if ActiveX Filtering is blocking it as a "unable to create instance of
ActiveX control" is thrown in all cases.
here is a possible solution which displays an additional warning to a user if it
is detected that ActiveX filtering is enabled.
function AXFiltering(){
if(!window.external){return 'unsupported';}
if(typeof window.external.msActiveXFilteringEnabled=='unknown'){
if(window.external.msActiveXFilteringEnabled()){return true;} else {return
false;}
}else{return 'unsupported';}
}
<body>
<div id="divAXFiltering"
style="display:none;background-color:honeydew;color:darkslateblue"><p>ActiveX
Filtering is Enabled.</p></div>
<script type="text/javascript">
document.write('DocumentMode:\t' + getDocumentMode() + '<br/>');
document.write('Platform:\t' + getPlatform() + '<br/>');
if(AXFiltering()==false){
document.write('Shockwave Flash:\t' + flashSupported()+'<br/>');
document.write('Media Player:\t' + mediaplayerSupported() + '<br/>');
document.write('Adobe PDF Reader:\t' + adobePDFSupported()+'<br/>');
document.write('Nitro PDF Reader:\t' + nitroPDFSupported()+'<br/>');
document.write('Java RT:\t' + javaRTSupported()+'<br/>');
document.write('Skype:\t' + skypeSupported()+'<br/>');
document.write('Silverlight:\t' + silverlightSupported()+'<br/>');
}else{ document.getElementById('divAXFiltering').style.display='block';}
document.write('ActiveX Filtering:\t' + AXFiltering() +'<br/>');
document.write('Tracking Protection:\t' + trackingProtection() + '<br/>');
document.write('HTML5 Video:\t' + videoSupported() + '<br/>');
</script>
</body>