Forum Moderators: open

Message Too Old, No Replies

Browser Plugin Check.

         

capulet_x

2:37 am on May 1, 2007 (gmt 0)

10+ Year Member



I have a plugin detection script which works very well. The only thing I was wondering is I would like to write an image of a checked box or an x'd box instead of the true and false that this script returns. I've never tried to write an image tag before but I tried to set variables with them below. I guess my question is does anyone know where I should put my variables in the script to get the result I want or am I going about all wrong to begin with.

Any input would be greatly appreciated.

<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;
var check = '<img src="check.png">';
var x = '<img src="x.png">';

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>

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-color: #A9CF9C;
}
.style1 {color: #990000}
-->
</style></head>

<body>

<script language="JavaScript">

document.write('<br><b>JavaScript Enabled:</b> ' + canDetectPlugins() + '<br>');

if(canDetectPlugins()) {
document.write('<b>Shockwave Enabled:</b> ' + detectDirector() + '<br>' +
'<b>Flash Enabled:</b> ' + detectFlash() + '<br>' +
'<b>QuickTime Enabled:</b> ' + detectQuickTime() + '<br>' +
'<b>RealPlayer Enabled:</b> ' + detectReal() + '<br>' +
'<b>Windows Media Player Enabled:</b> ' + detectWindowsMedia());
}
</script>

<noscript class="style1">
Your browser doesn't support JavaScript, so we can't check for plugins.
</noscript>

</body>
</html>

capulet_x

4:22 am on May 1, 2007 (gmt 0)

10+ Year Member



Okay, I tried this format but sill nothing.

var check = <img name="myimage01" src="http://www.example.com/check.png" />;

capulet_x

4:57 am on May 1, 2007 (gmt 0)

10+ Year Member



Never mind...I got it sorted.