1/* 2 *jQuery browser plugin detection 1.0.3 3 * http://plugins.jquery.com/project/jqplugin 4 * Checks for plugins / mimetypes supported in the browser extending the jQuery.browser object 5 * Copyright (c) 2008 Leonardo Rossetti [email protected] 6 * MIT License: http://www.opensource.org/licenses/mit-license.php 7 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 8 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 9 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 10 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 11 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 12 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 13 THE SOFTWARE. 14*/ 15(function ($) { 16 //$.getScript("http://java.com/js/deployJava.js"); 17 18 //checks if browser object exists 19 if (typeof $.browser === "undefined" || !$.browser) { 20 var browser = {}; 21 $.extend(browser); 22 } 23 var pluginList = { 24 flash: { 25 activex: ["ShockwaveFlash.ShockwaveFlash", "ShockwaveFlash.ShockwaveFlash.3", "ShockwaveFlash.ShockwaveFlash.4", "ShockwaveFlash.ShockwaveFlash.5", "ShockwaveFlash.ShockwaveFlash.6", "ShockwaveFlash.ShockwaveFlash.7"], 26 plugin: /flash/gim 27 }, 28 sl: { 29 activex: ["AgControl.AgControl"], 30 plugin: /silverlight/gim 31 }, 32 pdf: { 33 activex: ["acroPDF.PDF.1", "PDF.PdfCtrl.1", "PDF.PdfCtrl.4", "PDF.PdfCtrl.5", "PDF.PdfCtrl.6"], 34 plugin: /adobe\s?acrobat/gim 35 }, 36 qtime: { 37 activex: ["QuickTime.QuickTime", "QuickTimeCheckObject.QuickTimeCheck.1", "QuickTime.QuickTime.4"], 38 plugin: /quicktime/gim 39 }, 40 wmp: { 41 activex: ["WMPlayer.OCX", "MediaPlayer.MediaPlayer.1"], 42 plugin: /(windows\smedia)|(Microsoft)/gim 43 }, 44 shk: { 45 activex: ["SWCtl.SWCtl", "SWCt1.SWCt1.7", "SWCt1.SWCt1.8", "SWCt1.SWCt1.9", "ShockwaveFlash.ShockwaveFlash.1"], 46 plugin: /shockwave/gim 47 }, 48 rp: { 49 activex: ["RealPlayer", "rmocx.RealPlayer G2 Control.1"], 50 plugin: /realplayer/gim 51 } 52 }; 53 var isSupported = function (p) { 54 if (window.ActiveXObject) { 55 $.browser[p] = false; 56 57 for (i = 0; i < pluginList[p].activex.length; i++) { 58 try { 59 new ActiveXObject(pluginList[p].activex[i]); 60 $.browser[p] = true; 61 } catch (e) {} 62 } 63 } else { 64 $.each(navigator.plugins, function () { 65 if (this.name.match(pluginList[p].plugin)) { 66 $.browser[p] = true; 67 return false; 68 } else { 69 $.browser[p] = false; 70 } 71 }); 72 } 73 }; 74 75 $.each(pluginList, function (i, n) { 76 isSupported(i); 77 }); 78 //uses sun script to detect if java plugin is available 79 /* 80 $.getScript("http://java.com/js/deployJava.js", function () { 81 if (deployJava.versionCheck("1.6.0+") || deployJava.versionCheck("1.4") || deployJava.versionCheck("1.5.0*")) { 82 $.browser.java = true; 83 } else { 84 $.browser.java = false; 85 } 86 }); 87 */ 88})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.