Solved

"Test you machine" script / System Check web utility

Posted on 2009-04-06
6
884 Views
Last Modified: 2013-11-19
Dear colleagues,

We host a third-party application that work via web browser and we would like to run a "system check" page which would allow the user to see a "report" whether his computer is ready to run it.

We'd need something like:

1. OS version
2. Browser version
3. Windows Media Player installed
4. Silverlight installed
5. Available Bandwidth
6. Screen Resolution

This page has pretty much the functionality we'd like ours to have: http://vshow.on24.com/view/vts/tys/tys.htm

My question is: does anyone know where and if I can find such type of scripts available (even if I need to purchase one), which can ben hosted in IIS in a Windows Server?

Thanks in advance,

Helder Conde
0
Comment
Question by:HelderConde
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
6 Comments
 
LVL 5

Accepted Solution

by:
mfhorizon earned 500 total points
ID: 24076005
Hi Helder,

Check the code below for your reference. You can save it in a file and use it in your webpage as <script src="....your_web_directory/BROWSER_CHECK_CODE.js" language="javascript"></script>

It should give you all what you need.

Cheers!!





/* 	BROWSER & OS DETECTION */
 
// convert all characters to lowercase to simplify testing
var agt=navigator.userAgent.toLowerCase();
var appVer = navigator.appVersion.toLowerCase();
//alert(appVer + ":" + agt)
// *** BROWSER VERSION ***
 
var is_minor = parseFloat(appVer);
var is_major = parseInt(is_minor);
 
var is_opera = (agt.indexOf("opera") != -1);
var is_opera2 = (agt.indexOf("opera 2") != -1 || agt.indexOf("opera/2") != -1);
var is_opera3 = (agt.indexOf("opera 3") != -1 || agt.indexOf("opera/3") != -1);
var is_opera4 = (agt.indexOf("opera 4") != -1 || agt.indexOf("opera/4") != -1);
var is_opera5 = (agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1);
var is_opera6 = (agt.indexOf("opera 6") != -1 || agt.indexOf("opera/6") != -1); // new 020128- abk
var is_opera7 = (agt.indexOf("opera 7") != -1 || agt.indexOf("opera/7") != -1); // new 021205- dmr
var is_opera5up = (is_opera && !is_opera2 && !is_opera3 && !is_opera4);
var is_opera6up = (is_opera && !is_opera2 && !is_opera3 && !is_opera4 && !is_opera5); // new020128
var is_opera7up = (is_opera && !is_opera2 && !is_opera3 && !is_opera4 && !is_opera5 && !is_opera6); // new021205 -- dmr
 
// Note: On IE, start of appVersion return 3 or 4
// which supposedly is the version of Netscape it is compatible with.
// So we look for the real version further on in the string
 
var iePos  = appVer.indexOf('msie');
if (iePos !=-1) {
   is_minor = parseFloat(appVer.substring(iePos+5,appVer.indexOf(';',iePos)))
   is_major = parseInt(is_minor);
}
 
// ditto Konqueror
                                  
var is_konq = false;
var kqPos   = agt.indexOf('konqueror');
if (kqPos !=-1) {                 
   is_konq  = true;
   is_minor = parseFloat(agt.substring(kqPos+10,agt.indexOf(';',kqPos)));
   is_major = parseInt(is_minor);
}                                 
 
var is_getElementById   = (document.getElementById) ? "true" : "false"; // 001121-abk
var is_getElementsByTagName = (document.getElementsByTagName) ? "true" : "false"; // 001127-abk
var is_documentElement = (document.documentElement) ? "true" : "false"; // 001121-abk
 
//var is_safari = ((agt.indexOf('safari')!=-1)&&(agt.indexOf('mac')!=-1))?true:false;
var is_safari = ((agt.indexOf('safari')!=-1) && (agt.indexOf('chrome')==-1))?true:false;
var is_khtml  = (is_safari || is_konq);
var is_safari_ver = is_major
if(is_safari && agt.indexOf("version/")>0){
	is_safari_ver = parseInt(agt.substring(agt.indexOf("version/")+8))
}
 
var is_safari2up = (is_safari && is_safari_ver >= 2);
 
var is_gecko = ((!is_khtml)&&(navigator.product)&&(navigator.product.toLowerCase()=="gecko"))?true:false;
var is_gver  = 0;
if (is_gecko) is_gver=navigator.productSub;
 
var is_moz   = ((agt.indexOf('mozilla/5')!=-1) && (agt.indexOf('spoofer')==-1) &&
                (agt.indexOf('compatible')==-1) && (agt.indexOf('opera')==-1)  &&
                (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1)     &&
                (is_gecko) && 
                ((navigator.vendor=="")||(navigator.vendor=="Mozilla")||(navigator.vendor=="Debian")));
var is_fb = ((agt.indexOf('mozilla/5')!=-1) && (agt.indexOf('spoofer')==-1) &&
             (agt.indexOf('compatible')==-1) && (agt.indexOf('opera')==-1)  &&
             (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1)     &&
             (is_gecko) && (navigator.vendor=="Firebird"));
var is_fx = ((agt.indexOf('mozilla/5')!=-1) && (agt.indexOf('spoofer')==-1) &&
             (agt.indexOf('compatible')==-1) && (agt.indexOf('opera')==-1)  &&
             (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1)     &&
             (is_gecko) && (agt.indexOf('firefox')!=-1 || navigator.vendor=="Firefox"));
if ((is_moz)||(is_fb)||(is_fx)) {  // 032504 - dmr
   var is_moz_ver = (navigator.vendorSub)?navigator.vendorSub:0;
   if(!(is_moz_ver)) {
       is_moz_ver = agt.indexOf('rv:');
       is_moz_ver = agt.substring(is_moz_ver+3);
       is_paren   = is_moz_ver.indexOf(')');
       is_moz_ver = is_moz_ver.substring(0,is_paren);
   }
   is_minor = is_moz_ver;
   is_major = parseInt(is_moz_ver);
}
var is_fb_ver = is_moz_ver;
var is_fx_ver = is_moz_ver;
if(is_fx && agt.indexOf("firefox/")>0){
	is_fx_ver = parseInt(agt.substring(agt.indexOf("firefox/")+8))
}
 
var is_fx2up = (is_fx && is_fx_ver >= 2);
 
var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
            && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
            && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1)
            && (!is_khtml) && (!(is_moz)) && (!is_fb) && (!is_fx));
 
// Netscape6 is mozilla/5 + Netscape6/6.0!!!
// Mozilla/5.0 (Windows; U; Win98; en-US; m18) Gecko/20001108 Netscape6/6.0
// Changed this to use navigator.vendor/vendorSub - dmr 060502   
// var nav6Pos = agt.indexOf('netscape6');
// if (nav6Pos !=-1) {
if ((navigator.vendor)&&
    ((navigator.vendor=="Netscape6")||(navigator.vendor=="Netscape"))&&
    (is_nav)) {
   is_major = parseInt(navigator.vendorSub);
   // here we need is_minor as a valid float for testing. We'll
   // revert to the actual content before printing the result. 
   is_minor = parseFloat(navigator.vendorSub);
}
 
var is_nav2 = (is_nav && (is_major == 2));
var is_nav3 = (is_nav && (is_major == 3));
var is_nav4 = (is_nav && (is_major == 4));
var is_nav4up = (is_nav && is_minor >= 4);  // changed to is_minor for
                                            // consistency - dmr, 011001
var is_navonly      = (is_nav && ((agt.indexOf(";nav") != -1) ||
                      (agt.indexOf("; nav") != -1)) );
 
var is_nav6   = (is_nav && is_major==6);    // new 010118 mhp
var is_nav6up = (is_nav && is_minor >= 6) // new 010118 mhp
 
var is_nav5   = (is_nav && is_major == 5 && !is_nav6); // checked for ns6
var is_nav5up = (is_nav && is_minor >= 5);
 
var is_nav7   = (is_nav && is_major == 7);
var is_nav7up = (is_nav && is_minor >= 7);
var is_nav71up = (is_nav && is_minor >= 7.1);
var is_nav47 = (is_nav && (agt.indexOf('4.7')!=-1));
 
var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
var is_ie3    = (is_ie && (is_major < 4));
var is_ie4    = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
var is_ie4up  = (is_ie && (is_major >= 4));
var is_ie5    = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
var is_ie5_5  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
var is_ie5up  = (is_ie && !is_ie3 && !is_ie4);
var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5);
var is_ie6    = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
var is_ie6up  = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5);
var is_ie7    = (is_ie && (is_major >= 4) && (agt.indexOf("msie 7.")!=-1) );
var is_ie7up  = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5 && !is_ie6);
 
// KNOWN BUG: On AOL4, returns false if IE3 is embedded browser
// or if this is the first browser window opened.  Thus the
// variables is_aol, is_aol3, and is_aol4 aren't 100% reliable.
var is_aol   = (agt.indexOf("aol") != -1);
var is_aol3  = (is_aol && is_ie3);
var is_aol4  = (is_aol && is_ie4);
var is_aol5  = (agt.indexOf("aol 5") != -1);
var is_aol6  = (agt.indexOf("aol 6") != -1);
 
var is_opera = (agt.indexOf("opera") != -1);
var is_opera2 = (agt.indexOf("opera 2") != -1 || agt.indexOf("opera/2") != -1);
var is_opera3 = (agt.indexOf("opera 3") != -1 || agt.indexOf("opera/3") != -1);
var is_opera4 = (agt.indexOf("opera 4") != -1 || agt.indexOf("opera/4") != -1);
var is_opera5 = (agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1);
var is_opera5up = (is_opera && !is_opera2 && !is_opera3 && !is_opera4);
 
var is_webtv = (agt.indexOf("webtv") != -1); 
 
var is_TVNavigator = ((agt.indexOf("navio") != -1) || (agt.indexOf("navio_aoltv") != -1)); 
var is_AOLTV = is_TVNavigator;
 
var is_hotjava = (agt.indexOf("hotjava") != -1);
var is_hotjava3 = (is_hotjava && (is_major == 3));
var is_hotjava3up = (is_hotjava && (is_major >= 3));
 
// *** JAVASCRIPT VERSION CHECK ***
var is_js;
if (is_nav2 || is_ie3) is_js = 1.0;
else if (is_nav3) is_js = 1.1;
else if (is_opera5up) is_js = 1.3;
else if (is_opera) is_js = 1.1;
else if ((is_nav4 && (is_minor <= 4.05)) || is_ie4) is_js = 1.2;
else if ((is_nav4 && (is_minor > 4.05)) || is_ie5) is_js = 1.3;
else if (is_hotjava3up) is_js = 1.4;
else if (is_nav6 || is_gecko) is_js = 1.5;
// NOTE: In the future, update this code when newer versions of JS
// are released. For now, we try to provide some upward compatibility
// so that future versions of Nav and IE will show they are at
// *least* JS 1.x capable. Always check for JS version compatibility
// with > or >=.
else if (is_nav6up) is_js = 1.5;
// NOTE: ie5up on mac is 1.4
else if (is_ie5up) is_js = 1.3
 
// HACK: no idea for other browsers; always check for JS version with > or >=
else is_js = 0.0;
 
 
// *** PLATFORM ***
var is_win   = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
// NOTE: On Opera 3.0, the userAgent string includes "Windows 95/NT4" on all
//        Win32, so you can't distinguish between Win95 and WinNT.
var is_win95 = ((agt.indexOf("win95")!=-1) || (agt.indexOf("windows 95")!=-1));
 
// is this a 16 bit compiled version?
var is_win16 = ((agt.indexOf("win16")!=-1) || 
           (agt.indexOf("16bit")!=-1) || (agt.indexOf("windows 3.1")!=-1) || 
           (agt.indexOf("windows 16-bit")!=-1) );  
 
var is_win31 = ((agt.indexOf("windows 3.1")!=-1) || (agt.indexOf("win16")!=-1) ||
                (agt.indexOf("windows 16-bit")!=-1));
 
var is_winme = ((agt.indexOf("win 9x 4.90")!=-1));
var is_win2k = ((agt.indexOf("windows nt 5.0")!=-1));
var is_winxp = ((agt.indexOf("windows nt 5.1")!=-1));
var is_winvista = ((agt.indexOf("windows nt 6.0")!=-1));
 
// NOTE: Reliable detection of Win98 may not be possible. It appears that:
//       - On Nav 4.x and before you'll get plain "Windows" in userAgent.
//       - On Mercury client, the 32-bit version will return "Win98", but
//         the 16-bit version running on Win98 will still return "Win95".
var is_win98 = ((agt.indexOf("win98")!=-1) || (agt.indexOf("windows 98")!=-1));
var is_winnt = ((agt.indexOf("winnt")!=-1) || (agt.indexOf("windows nt")!=-1));
var is_win32 = (is_win95 || is_winnt || is_win98 || 
                ((is_major >= 4) && (navigator.platform == "Win32")) ||
                (agt.indexOf("win32")!=-1) || (agt.indexOf("32bit")!=-1));
 
var is_os2   = ((agt.indexOf("os/2")!=-1) || 
                (navigator.appVersion.indexOf("OS/2")!=-1) ||   
                (agt.indexOf("ibm-webexplorer")!=-1));
 
var is_mac    = (agt.indexOf("mac")!=-1);
// hack ie5 js version for mac
if (is_mac && is_ie5up) is_js = 1.4;
var is_macosx = (is_mac && (agt.indexOf("mac os x")!=-1)); 
 var is_macosx3 = is_macosx;//(is_macosx && (agt.indexOf("10.3")!=-1));  //ONLY Mac OSX 10.3 version is supported
 
var is_mac68k = (is_mac && ((agt.indexOf("68k")!=-1) || 
                           (agt.indexOf("68000")!=-1)));
var is_macppc = (is_mac && ((agt.indexOf("ppc")!=-1) || 
                            (agt.indexOf("powerpc")!=-1)));
 
var is_sun   = (agt.indexOf("sunos")!=-1);
var is_sun4  = (agt.indexOf("sunos 4")!=-1);
var is_sun5  = (agt.indexOf("sunos 5")!=-1);
var is_suni86= (is_sun && (agt.indexOf("i86")!=-1));
var is_irix  = (agt.indexOf("irix") !=-1);    // SGI
var is_irix5 = (agt.indexOf("irix 5") !=-1);
var is_irix6 = ((agt.indexOf("irix 6") !=-1) || (agt.indexOf("irix6") !=-1));
var is_hpux  = (agt.indexOf("hp-ux")!=-1);
var is_hpux9 = (is_hpux && (agt.indexOf("09.")!=-1));
var is_hpux10= (is_hpux && (agt.indexOf("10.")!=-1));
var is_aix   = (agt.indexOf("aix") !=-1);      // IBM
var is_aix1  = (agt.indexOf("aix 1") !=-1);    
var is_aix2  = (agt.indexOf("aix 2") !=-1);    
var is_aix3  = (agt.indexOf("aix 3") !=-1);    
var is_aix4  = (agt.indexOf("aix 4") !=-1);    
var is_linux = (agt.indexOf("inux")!=-1);
var is_linuxredhat9 = (agt.indexOf("redhat-linux-9")!=-1);
 
var is_sco   = (agt.indexOf("sco")!=-1) || (agt.indexOf("unix_sv")!=-1);
var is_unixware = (agt.indexOf("unix_system_v")!=-1); 
var is_mpras    = (agt.indexOf("ncr")!=-1); 
var is_reliant  = (agt.indexOf("reliantunix")!=-1);
var is_dec   = ((agt.indexOf("dec")!=-1) || (agt.indexOf("osf1")!=-1) || 
       (agt.indexOf("dec_alpha")!=-1) || (agt.indexOf("alphaserver")!=-1) || 
       (agt.indexOf("ultrix")!=-1) || (agt.indexOf("alphastation")!=-1)); 
var is_sinix = (agt.indexOf("sinix")!=-1);
var is_freebsd = (agt.indexOf("freebsd")!=-1);
var is_bsd = (agt.indexOf("bsd")!=-1);
var is_unix  = ((agt.indexOf("x11")!=-1) || is_sun || is_irix || is_hpux || 
             is_sco ||is_unixware || is_mpras || is_reliant || 
             is_dec || is_sinix || is_aix || is_linux || is_bsd || is_freebsd);
var is_vms   = ((agt.indexOf("vax")!=-1) || (agt.indexOf("openvms")!=-1));
 
 
function isFireFox(){
	return is_fx;
}
	
 
function hasValidOS(){
	return is_win || is_macosx || is_linux
}
 
function hasValidBrowser(){
	return is_ie6up || is_fx2up || is_safari2up
}
 
function hasValidOSBrowser(){
	if(hasValidOS() &&  hasValidBrowser()){
		if(
			(is_win && (is_ie6up || is_fx2up)) ||
			(is_macosx && (is_safari2up || is_fx2up)) ||
			(is_linux && is_fx2up)
		){
			return true;
		}
	}
	
	return false;
}
 
function getOSName(){
	if(is_win){
		return "win"
	} else if(is_macosx){
		return "mac"
	} else if(is_linux){
		return "lnx"
	}
}
 
function getBrowserType(){
	if(is_ie){
		return "ie"
	} else if(is_fx){
		return "fx"
	} else if(is_safari){
		return "sf"
	}
}
 
function getBrowserVersion(){
	if(is_fx){
		return is_fx_ver
	} else {
		return is_safari_ver
	}
	
	return is_major
}
 
 
function getOSBrowserName(){
	var returnString=""
	var os = getOSName()
	var browser = getBrowserType()
	
	if(os=="win"){
		returnString = "Windows"
	} else if(os=="mac"){
		returnString = "Mac"
	} else if(os=="lnx"){
		returnString = "Linux"
	}
	
	if(returnString!=""){
		if(browser=="ie"){
			returnString += " with " + "Internet Explorer"
		} else if(browser=="fx"){
			returnString += " with " + "Firefox"
		} else if(browser=="sf"){
			returnString += " with " + "Safari"
		}
	}
	
	return returnString!="" ? returnString : "Not Supported"
}
 
/* COOKIE DETECTION */
 
var vshowTestCookie = objCookieUtils.getCookieValue("vshow-test-cookie")
 
function isCookieEnabled(){
	return (vshowTestCookie == "test")
}
 
/* MEDIA PLAYER DETECTION */
 
var detectableWithVB = false;
 
// 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('Function getRealPlayerVersion()');
    document.writeln('  on error resume next');
    document.writeln('  getRealPlayerVersion = False');
    document.writeln('  If detectableWithVB Then');
	document.writeln('		set rpo = CreateObject("rmocx.RealPlayer G2 Control")')
	document.writeln('		If IsObject(rpo) then')
    document.writeln('      	getRealPlayerVersion = rpo.GetVersionInfo()');
	document.writeln('		End If')
    document.writeln('  End If');
    document.writeln('End Function');
	
	
	document.writeln('Function getWMPlayerVersion()');
    document.writeln('  on error resume next');
    document.writeln('  getWMPlayerVersion = False');
    document.writeln('  If detectableWithVB Then');
	document.writeln('		set rpo = CreateObject("WMPlayer.OCX.7")')
	document.writeln('		If IsObject(rpo) then')
    document.writeln('      	getWMPlayerVersion = rpo.versionInfo');
	document.writeln('		End If')
    document.writeln('  End If');
    document.writeln('End Function');
 
    document.writeln('</scr' + 'ipt>');
}
	
function detectReal() {
    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)'));
    }	
	//alert("detectReal.pluginFound: " + pluginFound)
	
	return pluginFound;
}
 
function detectWindowsMedia() {
    pluginFound = detectPlugin('Windows Media Player');
    // if not found, try to detect with VisualBasic
    if(!pluginFound && detectableWithVB) {
	pluginFound = detectActiveXControl('MediaPlayer.MediaPlayer.1');
    }
	//alert("detectWindowsMedia.pluginFound: " + pluginFound);
	
	return pluginFound;
}
 
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
 
 
var realplayerPluginFound = detectReal();
var windowsMediaPlayerPluginFound = detectWindowsMedia();
 
function hasMediaPlayers(){
	return realplayerPluginFound || windowsMediaPlayerPluginFound
}
 
function getRealPlayerBuild(){
	if(detectableWithVB){
		return getRealPlayerVersion()
	}
	
	return ""
}
 
function getWMPlayerBuild(){
	if(detectableWithVB){
		return getWMPlayerVersion()
	}
	
	return ""
}
 
 
/* SCREEN RESOLUTION */
 
 
var screenWidth = window.screen.width;
 
var screenHeight = window.screen.height;

Open in new window

0
 

Author Comment

by:HelderConde
ID: 24076120
By all means, this is a very useful script! I do appreciate your help on this!

However, I noticed that there seems to be no Speed/Bandwidth nor Silverlight analysis...

I'll certainly assign points to mfhorizon, but I'm wondering if these two non-included items can also be included in such a script...

Thanks in advance,

Helder Conde
0
 

Author Comment

by:HelderConde
ID: 24076237
Hi,

I've just found a page that might lead me in the direction of finding a "bandwidth" testing:

http://phaster.com/golden_hill_free_web/ghfw_connection_speed.shtml
Now, apparently only Silverlight testing is still missing...

Helder Conde
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 5

Assisted Solution

by:mfhorizon
mfhorizon earned 500 total points
ID: 24085202
Hi HelderConde,
This link may give you what you are looking for Silverlight check.
          http://msdn.microsoft.com/en-us/library/cc265155(VS.95).aspx
You need to copy the Silverlight.js and refer in the same way in your code.

Let me know if it works.

Regards
0
 

Author Closing Comment

by:HelderConde
ID: 31567456
mhorizon,

Thanks so much for your ideas and for helping me with this. Since I won't be able to deploy this too soon, I've closed the thread and assigned the points.

Besides, I don't see a reason why these ideas should not work.

So, again, thanks a lot! It was very helpful, indeed.

Best regards,

Helder Conde
0
 
LVL 5

Expert Comment

by:mfhorizon
ID: 24094104
Thanks for your complements!
Regards,
Kashif Abbas
MeAndSystems.com
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Preparing an email is something we should all take special care with – especially when the email is for somebody you may not know very well. The pressures of everyday working life stacked with a hectic office environment can make this a real challen…
When it comes to security, close monitoring is a must. According to WhiteHat Security annual report, a substantial number of all web applications are vulnerable always. Monitis offers a new product - fully-featured Website security monitoring and pr…
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.
Introduction to Processes

688 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question