1 <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
3 <!-- ***** BEGIN LICENSE BLOCK *****
4 - Version: MPL 1.1/GPL 2.0/LGPL 2.1
6 - The contents of this file are subject to the Mozilla Public License Version
7 - 1.1 (the "License"); you may not use this file except in compliance with
8 - the License. You may obtain a copy of the License at
9 - http://www.mozilla.org/MPL/
11 - Software distributed under the License is distributed on an "AS IS" basis,
12 - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13 - for the specific language governing rights and limitations under the
16 - The Original Code is mozilla.org Code.
18 - The Initial Developer of the Original Code is
19 - Netscape Communications Corporation.
20 - Portions created by the Initial Developer are Copyright (C) 1998
21 - the Initial Developer. All Rights Reserved.
24 - Mark Olson <maolson@earthlink.net>
25 - Alexey Chernyak <alexeyc@bigfoot.com>
26 - Frank Tang <ftang@netscape.com>
27 - Mike Connelly <mozilla@shepherdstown.com>
28 - Robert Kaiser <kairo@kairo.at>
30 - Alternatively, the contents of this file may be used under the terms of
31 - either the GNU General Public License Version 2 or later (the "GPL"), or
32 - the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
33 - in which case the provisions of the GPL or the LGPL are applicable instead
34 - of those above. If you wish to allow use of your version of this file only
35 - under the terms of either the GPL or the LGPL, and not to allow others to
36 - use your version of this file under the terms of the MPL, indicate your
37 - decision by deleting the provisions above and replace them with the notice
38 - and other provisions required by the LGPL or the GPL. If you do not delete
39 - the provisions above, a recipient may use your version of this file under
40 - the terms of any one of the MPL, the GPL or the LGPL.
42 - ***** END LICENSE BLOCK ***** -->
46 <script type=
"application/javascript">
47 var strBundleService = Components.classes[
"@mozilla.org/intl/stringbundle;1"].getService(Components.interfaces.nsIStringBundleService);
48 var pluginsbundle = strBundleService.createBundle(
"chrome://global/locale/plugins.properties");
49 var regionbundle = strBundleService.createBundle(
"chrome://global-region/locale/region.properties");
51 document.writeln(
"<title>" + pluginsbundle.GetStringFromName(
"title_label") +
"<\/title>");
53 <link rel=
"stylesheet" type=
"text/css" href=
"chrome://global/content/plugins.css">
54 <link rel=
"stylesheet" type=
"text/css" href=
"chrome://global/skin/plugins.css">
58 <script type=
"application/javascript">
60 /* JavaScript to enumerate and display all installed plug-ins
62 * First, refresh plugins in case anything has been changed recently in
63 * prefs: (The
"false" argument tells refresh not to reload or activate
64 * any plug-ins that would be active otherwise. In contrast, one would
65 * use
"true" in the case of ASD instead of restarting)
67 navigator.plugins.refresh(false);
70 var numPlugins = navigator.plugins.length;
73 document.writeln(
"<h1 id=\"plugs\
">" + pluginsbundle.GetStringFromName(
"installedplugins_label") +
"<\/h1>");
75 document.writeln(
"<h1 id=\"noplugs\
">" + pluginsbundle.GetStringFromName(
"nopluginsareinstalled_label") +
"<\/h1>");
77 document.writeln(
"<div id=\"findmore\
">" + pluginsbundle.GetStringFromName(
"findmore_label") +
" ");
78 document.writeln(
"<a href=\"" + regionbundle.GetStringFromName("more_plugins_url
") + "\
">" + regionbundle.GetStringFromName(
"more_plugins_label") +
"<\/a>.");
79 document.writeln(
"<\/div>");
81 document.writeln(
"<div id=\"installhelp\
">" + pluginsbundle.GetStringFromName(
"installhelp_label") +
" ");
82 document.writeln(
"<a href=\"" + regionbundle.GetStringFromName("plugindoc_url
") + "\
">" + regionbundle.GetStringFromName(
"plugindoc_label") +
"<\/a>.");
83 document.writeln(
"<\/div><hr>");
85 for (var i =
0; i < numPlugins; i++)
87 var plugin = navigator.plugins[i];
91 document.write(
"<h2 class=\"plugname\
">");
92 document.write(plugin.name);
93 document.writeln(
"<\/h2>");
95 document.writeln(
"<dl><dd><span class=\"label\
">" + pluginsbundle.GetStringFromName(
"filename_label") +
"<\/span> ");
96 document.write(plugin.filename);
97 document.writeln(
"<\/dd><dd>");
98 document.write(plugin.description);
99 document.writeln(
"<\/dd><\/dl>");
101 document.writeln(
"<table border=\"1\
" class=\"contenttable\
">");
102 document.writeln(
"<thead>");
103 document.writeln(
"<tr><th class=\"type\
">" + pluginsbundle.GetStringFromName(
"mimetype_label") +
"<\/th>");
104 document.writeln(
"<th class=\"desc\
">" + pluginsbundle.GetStringFromName(
"description_label") +
"<\/th>");
105 document.writeln(
"<th class=\"suff\
">" + pluginsbundle.GetStringFromName(
"suffixes_label") +
"<\/th>");
106 document.writeln(
"<th class=\"enabled\
">" + pluginsbundle.GetStringFromName(
"enabled_label") +
"<\/th><\/tr>");
107 document.writeln(
"<\/thead>");
108 document.writeln(
"<tbody>");
110 var numTypes = plugin.length;
114 for (var j =
0; j < numTypes; j++)
116 mimetype = plugin[j];
120 enabled = pluginsbundle.GetStringFromName(
"no_label");
121 enabledPlugin = mimetype.enabledPlugin;
122 if (enabledPlugin && (enabledPlugin.filename == plugin.filename))
123 enabled = pluginsbundle.GetStringFromName(
"yes_label");
125 document.writeln(
"<tr>");
126 document.writeln(
"<td>" + mimetype.type +
"<\/td>");
127 document.writeln(
"<td>" + mimetype.description +
"<\/td>");
128 document.writeln(
"<td>" + mimetype.suffixes +
"<\/td>");
129 document.writeln(
"<td>" + enabled +
"<\/td>");
130 document.writeln(
"<\/tr>");
134 document.write(
"<\/tbody>");
135 document.write(
"<\/table>");