Trucsweb.com

Forum de discussion

 Forum « Programmation HTML » (archives)

Re: Lien conditionnel selon détection du lecteur Real Player

Envoyé: 17 novembre 2004, 10h34 par Oznog


Salut,

Pour IE on trouve ce script plus simple partout :

<SCRIPT LANGUAGE=JavaScript>

var RealMode=0;
var RealPlayer5=0;
var RealPlayer4=0;
var RealPlayerG2=0;
if (navigator.userAgent.indexOf("MSIE")<0 )
{
numPlugins = navigator.plugins.length;
for (i = 0; i < numPlugins; i++)
{
plugin = navigator.plugins[i];
if (plugin.name.substring(0,10)=="RealPlayer")
{
RealMode=1;
}
}
}
document.write('<SCRIPT LANGUAGE=VBScript\> \n');
document.write('on error resume next \n');
document.write('RealPlayerG2 = (NOT IsNull(CreateObject("rmocx.RealPlayer G2 Control")))\n');
document.write('RealPlayer5 = (NOT IsNull(CreateObject("RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)")))\n');
document.write('RealPlayer4 = (NOT IsNull(CreateObject("RealVideo.RealVideo(tm) ActiveX Control (32-bit)")))\n');
document.write('</SCRIPT\> \n');
if (RealMode || RealPlayerG2 || RealPlayer5 || RealPlayer4)
{
alert("You Have RealPlayer! CLICK OK, then CLOSE THE WINDOW and listen to our audio clips!");
}
else
{
alert("You DO NOT have RealPlayer. You will need to download and install the FREE RealPlayer to listen to our audio clips. CLICK OK, then DOWNLOAD the FREE RealPlayer.");
}

</SCRIPT>

Et pour Netscape, tu as cet exemple très complet "Browser and Real Player Support" (http://www.alllearn.org/help/browser.html)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>AllLearn - Technology Detection</title>
<script language="JavaScript" type="text/javascript">
<!-- hide script
/*
Plugin Detector()


*/

var WM_startTagFix = '</';
var msie_windows = 0;
if ((navigator.userAgent.indexOf('MSIE') != -1) && (navigator.userAgent.indexOf('Win') != -1)){
msie_windows = 1;
document.writeln('<script language="VBscript">');
document.writeln('\'This will scan for plugins for all versions of Internet Explorer that have a VBscript engine version 2 or greater.');
document.writeln('\'This includes all versions of IE4 and beyond and some versions of IE 3.');
document.writeln('Dim WM_detect_through_vb');
document.writeln('WM_detect_through_vb = 0');
document.writeln('If ScriptEngineMajorVersion >= 2 then');
document.writeln(' WM_detect_through_vb = 1');
document.writeln('End If');
document.writeln('Function WM_activeXDetect(activeXname)');
document.writeln(' on error resume next');
document.writeln(' If ScriptEngineMajorVersion >= 2 then');
document.writeln(' WM_activeXDetect = False');
document.writeln(' WM_activeXDetect = IsObject(CreateObject(activeXname))');
document.writeln(' If (err) then');
document.writeln(' WM_activeXDetect = False');
document.writeln(' End If');
document.writeln(' Else');
document.writeln(' WM_activeXDetect = False');
document.writeln(' End If');
document.writeln('End Function');
document.writeln(WM_startTagFix+'script>');
}

function WM_pluginDetect(plugindescription, pluginxtension, pluginmime, activeXname){
var i,plugin_undetectable=0,detected=0, daPlugin=new Object();

if (msie_windows && WM_detect_through_vb){
plugin_undetectable = 0;
} else {
plugin_undetectable = 1;
}

if(navigator.plugins) {
numPlugins = navigator.plugins.length;
if (numPlugins > 1) {
if (navigator.mimeTypes && navigator.mimeTypes[pluginmime] && navigator.mimeTypes[pluginmime].enabledPlugin && (navigator.mimeTypes[pluginmime].suffixes.indexOf(pluginxtension) != -1)) { // seems like we have it, let's just make sure and check the version (if specified)
if ((navigator.appName == 'Netscape') && (navigator.appVersion.indexOf('4.0') != -1)) { // Netscape can't handle the references to navigator.plugins by number
for(i in navigator.plugins) {
if ((navigator.plugins[i].description.indexOf(plugindescription) != -1) || (i.indexOf(plugindescription) != -1)) { // some versions of quicktime have no description.
detected=1;
break;
}
}
} else {
for (i = 0; i < numPlugins; i++) {
daPlugin = navigator.plugins[i];
if ((daPlugin.description.indexOf(plugindescription) != -1) || (daPlugin.name.indexOf(plugindescription) != -1)) {
detected=1;
break;
}
}
}

// Mac weirdness
if (navigator.mimeTypes[pluginmime] == null) {
detected = 0;
}
}
return detected;
} else if((msie_windows == 1) && !plugin_undetectable){
return WM_activeXDetect(activeXname);
} else {
return 0;
}
} else {
return 0;
}
}

function WM_easyDetect(whichPlugin) {
var isItThere = 0;
if ( (whichPlugin == 'realaudio') || (whichPlugin == 'Realaudio') || (whichPlugin == 'RealAudio') ) {
isItThere =
(WM_pluginDetect('RealPlayer(tm) G2', 'rpm', 'audio/x-pn-realaudio-plugin', 'rmocx.RealPlayer G2 Control')) ||
(WM_pluginDetect('RealOne Player', 'rpm', 'audio/x-pn-realaudio-plugin','rmocx.RealPlayer G2 Control'))
} else {
alert('You need to tell me which plug-in to look for, like so:\n\n' + ' WM_easyDetect(\'flash\')\n\n' + ' WM_easyDetect(\'director\')\n\n' + ' WM_easyDetect(\'quicktime\')\n\n' + ' WM_easyDetect(\'realaudio\')');
}
return isItThere;
}
// end hiding of script -->
</script>

<body>
<p>
<script>
if(WM_easyDetect('realaudio') == 1)
document.write("You have what you need.");
else{
document.write("You need to download the latest version of Real Player (8 MB).");
}
</script>
</p>
</body>
</html>

Ciao
Oznog


Réponses

 sp spRe: Lien conditionnel selon détection du lecteur Real Player ndubau1/12/2004
Aucun médias sociaux
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@