/* * Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * - Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * - Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * - Neither the name of Sun Microsystems nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* * Added by EGIZ: * This file contains workarounds to * [#423] Firefox 3.0.11 bug #498132 causes applet loading failure * (lines 95-99) * [#424] Web Start loading via java plugin (Sun deployment script) fails on WinXP/Vista * (lines 501-506) * * features: * [#425] Disable WebStart Launch Button for MacOS * (lines 492-504) * */ /* * deployJava.js * * This file is part of the Deployment Toolkit. It provides functions for web * pages to detect the presence of a JRE, install the latest JRE, and easily run * applets or Web Start programs. Usage guide may be found at http:///. * * The "live" copy of this file may be found at * http://java.com/js/deployJava.js. * You are encouraged to link directly to the live copy of the file. * * @version @(#)deployJava.js XXXXX */ var deployJava={ debug:null, myInterval:null, preInstallJREList:null, returnPage:null, brand:null, locale:null, installType:null, EAInstallEnabled:false, EarlyAccessURL:null, // GetJava page getJavaURL:'http://java.sun.com/webapps/getjava/BrowserRedirect?host=java.com', // Apple redirect page appleRedirectPage:'http://www.apple.com/support/downloads/', oldMimeType:'application/npruntime-scriptable-plugin;DeploymentToolkit', mimeType:'application/java-deployment-toolkit', launchButtonPNG:'http://java.sun.com/products/jfc/tsc/articles/swing2d/webstart.png', getJREs:function(){ var list=new Array(); if(deployJava.isPluginInstalled()){ var plugin=deployJava.getPlugin(); var VMs=plugin.jvms; for(var i=0;i'; document.write(s); } if(!codebaseParam){ document.write(''); } } document.write('<'+'/'+'applet'+'>'); }, versionCheck:function(versionPattern) { var index=0; var regex="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?(\\*|\\+)?$"; var matchData=versionPattern.match(regex); if(matchData!=null){ var familyMatch=true; var patternArray=new Array(); for(var i=1;i<'+'img '+'src="'+deployJava.launchButtonPNG+'" '+'border="0" /><'+'/'+'a'+'>'); }, launch:function(jnlp){ if(deployJava.isPluginInstalled()){ return deployJava.getPlugin().launch(jnlp); }else{ document.location=jnlp;return true; } }, isPluginInstalled:function(){ var plugin=deployJava.getPlugin(); if(plugin&&plugin.jvms){ return true; }else{ return false; } }, isAutoUpdateEnabled:function(){ if(deployJava.isPluginInstalled()){ return deployJava.getPlugin().isAutoUpdateEnabled(); } return false; }, setAutoUpdateEnabled:function(){ if(deployJava.isPluginInstalled()){ return deployJava.getPlugin().setAutoUpdateEnabled(); } return false; }, setInstallerType:function(type){ deployJava.installType=type; if(deployJava.isPluginInstalled()){ return deployJava.getPlugin().setInstallerType(type); } return false; }, setAdditionalPackages:function(packageList){ if(deployJava.isPluginInstalled()){ return deployJava.getPlugin().setAdditionalPackages( packageList); } return false; }, setEarlyAccess:function(enabled){ deployJava.EAInstallEnabled=enabled; }, isPlugin2:function(){ if(deployJava.isPluginInstalled()){ if(deployJava.versionCheck('1.6.0_10+')){ try{ return deployJava.getPlugin().isPlugin2(); }catch(err){ } } } return false; }, getPlugin:function(){ deployJava.refresh(); var ret=document.getElementById('deployJavaPlugin'); return ret; }, compareVersionToPattern:function(version,patternArray,familyMatch){ var regex="^(\\d+)(?:\\.(\\d+)(?:\\.(\\d+)(?:_(\\d+))?)?)?$"; var matchData=version.match(regex); if(matchData!=null){ var index=0; var result=new Array(); for(var i=1;ipatternArray[i]){ return true; } } return true; } }else{ return false; } }, getBrowser:function(){ var browser=navigator.userAgent.toLowerCase(); if(deployJava.debug){ alert('userAgent -> '+browser); } if((navigator.vendor)&& (navigator.vendor.toLowerCase().indexOf('apple')!=-1)&& (browser.indexOf('safari')!=-1)){ if(deployJava.debug){ alert('We claim to have detected "Safari".'); } return'Safari'; }else if(browser.indexOf('msie')!=-1){ if(deployJava.debug){ alert('We claim to have detected "IE".'); } return'MSIE'; }else if((browser.indexOf('mozilla')!=-1)|| (browser.indexOf('firefox')!=-1)){ if(deployJava.debug){ alert('We claim to have detected a Netscape family browser.'); } return'Netscape Family'; }else{ if(deployJava.debug){ alert('We claim to have failed to detect a browser.'); } return'?'; } }, testUsingActiveX:function(version){ var objectName='JavaWebStart.isInstalled.'+version+'.0'; if(!ActiveXObject){ if(deployJava.debug){ alert('Browser claims to be IE, but no ActiveXObject object?'); } return false; } try{ return(new ActiveXObject(objectName)!=null); }catch(exception){ return false; } }, testForMSVM:function(){ var clsid='{08B0E5C0-4FCB-11CF-AAA5-00401C608500}'; if(typeof oClientCaps!='undefined'){ var v=oClientCaps.getComponentVersion(clsid,"ComponentID"); if((v=='')||(v=='5,0,5000,0')){ return false; }else{ return true; } }else{ return false; } }, testUsingMimeTypes:function(version){ if(!navigator.mimeTypes){ if(deployJava.debug){ alert('Browser claims to be Netscape family, but no mimeTypes[] array?'); } return false; } for(var i=0;ib[0])return true; if(a[0]b[1])return true; if(a[1]b[2])return true; if(a[2]'+ '<'+'/'+'object'+'>'); }else if(browser=='Netscape Family'){ deployJava.writeEmbedTag(); } }, refresh:function(){ navigator.plugins.refresh(false);var browser=deployJava.getBrowser();if(browser=='Netscape Family'){ var plugin=document.getElementById('deployJavaPlugin');if(plugin==null){ deployJava.writeEmbedTag(); } } }, writeEmbedTag:function(){ var written=false;if(navigator.mimeTypes!=null){ for(var i=0;i