|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2003
Città: Bologna/Taranto
Messaggi: 1365
|
[HTML] Reindirizzazione automatica se non c'è il flash player
E' possibile reindirizzare automaticamente un utente che non ha il flash player installato, alla versione solo in html di un sito?
__________________
My Flickr |
|
|
|
|
|
#2 | |
|
Bannato
Iscritto dal: Sep 2008
Messaggi: 330
|
Quote:
Codice:
<script language="JavaScript" type="text/javascript">
<!--
var hasRightVersion = DetectFlashVer(requiredMajorVersion, requiredMinorVersion, requiredRevision);
if(hasRightVersion) { // if we've detected an acceptable version
var oeTags = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'
+ 'width="100%" height="100%"'
+ 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">'
+ '<param name="movie" value="world.swf" /><param name="menu" value="false" /><param name="quality" value="high" /><param name="devicefont" value="true" /><param name="bgcolor" value="#cccccc" />'
+ '<embed src="world.swf" menu="false" quality="high" devicefont="true" bgcolor="#cccccc" '
+ 'width="100%" height="100%" name="world" align="middle"'
+ 'play="true"'
+ 'loop="false"'
+ 'quality="high"'
+ 'allowScriptAccess="sameDomain"'
+ 'type="application/x-shockwave-flash"'
+ 'pluginspage="http://www.macromedia.com/go/getflashplayer">'
+ '<\/embed>'
+ '<\/object>';
document.write(oeTags); // embed the flash movie
} else { // flash is too old or we can't detect the plugin
var alternateContent = 'Alternate HTML content should be placed here.'
+ 'This content requires the Macromedia Flash Player.'
+ '<a href=http://www.macromedia.com/go/getflash/>Get Flash</a>';
document.write(alternateContent); // insert non-flash content
}
// -->
</script>
<noscript>
// Provide alternate content for browsers that do not support scripting
// or for those that have scripting disabled.
Alternate HTML content should be placed here. This content requires the Macromedia Flash Player.
<a href="http://www.macromedia.com/go/getflash/">Get Flash</a>
</noscript>
Quello che interessa a te è l'ultimo settore, quello tra i tag NOSCRIPT, là dentro va inserito il codice alternativo o un redirect. |
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: Apr 2003
Città: Bologna/Taranto
Messaggi: 1365
|
Quote:
__________________
My Flickr |
|
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: Sep 2008
Messaggi: 330
|
Non dovresti preoccupartene e gestire solo la parte in <noscript>.
Comunque il codice così non è completo. Altrimenti usa il codice da questa pagina Codice HTML:
<html> <head> <script language="JavaScript"> <!-- // initialize a variable to test for JavaScript 1.1. // which is necessary for the window.location.replace method var javascriptVersion1_1 = false; // --> </script> <script language="JavaScript1.1"> <!-- javascriptVersion1_1 = true; // --> </script> <script language="JavaScript"> <!-- // initialize global variables var detectableWithVB = false; var pluginFound = false; function goURL(daURL) { // if the browser can do it, use replace to preserve back button if(javascriptVersion1_1) { window.location.replace(daURL); } else { window.location = daURL; } return; } function redirectCheck(pluginFound, redirectURL, redirectIfFound) { // check for redirection if( redirectURL && ((pluginFound && redirectIfFound) || (!pluginFound && !redirectIfFound)) ) { // go away goURL(redirectURL); return pluginFound; } else { // stay here and return result of plugin detection return pluginFound; } } function canDetectPlugins() { if( detectableWithVB || (navigator.plugins && navigator.plugins.length > 0) ) { return true; } else { return false; } } function detectFlash(redirectURL, redirectIfFound) { pluginFound = detectPlugin('Shockwave','Flash'); // if not found, try to detect with VisualBasic if(!pluginFound && detectableWithVB) { pluginFound = detectActiveXControl('ShockwaveFlash.ShockwaveFlash.1'); } // check for redirection return redirectCheck(pluginFound, redirectURL, redirectIfFound); } function detectDirector(redirectURL, redirectIfFound) { pluginFound = detectPlugin('Shockwave','Director'); // if not found, try to detect with VisualBasic if(!pluginFound && detectableWithVB) { pluginFound = detectActiveXControl('SWCtl.SWCtl.1'); } // check for redirection return redirectCheck(pluginFound, redirectURL, redirectIfFound); } function detectQuickTime(redirectURL, redirectIfFound) { pluginFound = detectPlugin('QuickTime'); // if not found, try to detect with VisualBasic if(!pluginFound && detectableWithVB) { pluginFound = detectQuickTimeActiveXControl(); } return redirectCheck(pluginFound, redirectURL, redirectIfFound); } function detectReal(redirectURL, redirectIfFound) { pluginFound = detectPlugin('RealPlayer'); // if not found, try to detect with VisualBasic if(!pluginFound && detectableWithVB) { pluginFound = (detectActiveXControl('rmocx.RealPlayer G2 Control') || detectActiveXControl('RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)') || detectActiveXControl('RealVideo.RealVideo(tm) ActiveX Control (32-bit)')); } return redirectCheck(pluginFound, redirectURL, redirectIfFound); } function detectWindowsMedia(redirectURL, redirectIfFound) { pluginFound = detectPlugin('Windows Media'); // if not found, try to detect with VisualBasic if(!pluginFound && detectableWithVB) { pluginFound = detectActiveXControl('MediaPlayer.MediaPlayer.1'); } return redirectCheck(pluginFound, redirectURL, redirectIfFound); } function detectPlugin() { // allow for multiple checks in a single pass var daPlugins = detectPlugin.arguments; // consider pluginFound to be false until proven true var pluginFound = false; // if plugins array is there and not fake if (navigator.plugins && navigator.plugins.length > 0) { var pluginsArrayLength = navigator.plugins.length; // for each plugin... for (pluginsArrayCounter=0; pluginsArrayCounter < pluginsArrayLength; pluginsArrayCounter++ ) { // loop through all desired names and check each against the current plugin name var numFound = 0; for(namesCounter=0; namesCounter < daPlugins.length; namesCounter++) { // if desired plugin name is found in either plugin name or description if( (navigator.plugins[pluginsArrayCounter].name.indexOf(daPlugins[namesCounter]) >= 0) || (navigator.plugins[pluginsArrayCounter].description.indexOf(daPlugins[namesCounter]) >= 0) ) { // this name was found numFound++; } } // now that we have checked all the required names against this one plugin, // if the number we found matches the total number provided then we were successful if(numFound == daPlugins.length) { pluginFound = true; // if we've found the plugin, we can stop looking through at the rest of the plugins break; } } } return pluginFound; } // detectPlugin // Here we write out the VBScript block for MSIE Windows if ((navigator.userAgent.indexOf('MSIE') != -1) && (navigator.userAgent.indexOf('Win') != -1)) { document.writeln('<script language="VBscript">'); document.writeln('\'do a one-time test for a version of VBScript that can handle this code'); document.writeln('detectableWithVB = False'); document.writeln('If ScriptEngineMajorVersion >= 2 then'); document.writeln(' detectableWithVB = True'); document.writeln('End If'); document.writeln('\'this next function will detect most plugins'); document.writeln('Function detectActiveXControl(activeXControlName)'); document.writeln(' on error resume next'); document.writeln(' detectActiveXControl = False'); document.writeln(' If detectableWithVB Then'); document.writeln(' detectActiveXControl = IsObject(CreateObject(activeXControlName))'); document.writeln(' End If'); document.writeln('End Function'); document.writeln('\'and the following function handles QuickTime'); document.writeln('Function detectQuickTimeActiveXControl()'); document.writeln(' on error resume next'); document.writeln(' detectQuickTimeActiveXControl = False'); document.writeln(' If detectableWithVB Then'); document.writeln(' detectQuickTimeActiveXControl = False'); document.writeln(' hasQuickTimeChecker = false'); document.writeln(' Set hasQuickTimeChecker = CreateObject("QuickTimeCheckObject.QuickTimeCheck.1")'); document.writeln(' If IsObject(hasQuickTimeChecker) Then'); document.writeln(' If hasQuickTimeChecker.IsQuickTimeAvailable(0) Then '); document.writeln(' detectQuickTimeActiveXControl = True'); document.writeln(' End If'); document.writeln(' End If'); document.writeln(' End If'); document.writeln('End Function'); document.writeln('</scr' + 'ipt>'); } // --> </script> </head> <body> <script language="JavaScript"> document.write('<br><b>Can Detect Plugins:</b> ' + canDetectPlugins() + '<br><br>'); if(canDetectPlugins()) { document.write('<b>Supports Shockwave for Director:</b> ' + detectDirector() + '<br>' + '<b>Supports Shockwave Flash:</b> ' + detectFlash() + '<br>' + '<b>Supports QuickTime:</b> ' + detectQuickTime() + '<br>' + '<b>Supports RealPlayer:</b> ' + detectReal() + '<br>' + '<b>Supports Windows Media Player:</b> ' + detectWindowsMedia()); } </script> <noscript> Your browser doesn't support JavaScript, so we can't check for plugins. </noscript> </body> </html> Le informazioni sono tratte da qui dove c'è la spiegazione completa, anche se quanto detto da me dovrebbe bastare. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:16.




















