JavaScript DHTML/Development/PlugIn
Содержание
- 1 Accessing a Plug-In
- 2 Determining Whether the LiveVideo Plug-In Is Installed
- 3 Displaying a List of Navigator Plug-Ins
- 4 Displaying Plug-In Information
- 5 Display PDF using plugin
- 6 Find pluin for Midi
- 7 JavaScript to enumerate and display all installed plug-ins
- 8 Listing Plug-In Properties
- 9 Properties of the Plugin Object
- 10 Scan through each plug-in by provided parameters
- 11 Synchronizing Two Plug-Ins
Accessing a Plug-In
<HTML>
<HEAD>
<TITLE>Accessing Installed Plug-ins</TITLE>
<SCRIPT LANGUAGE="JavaScript"><!--
function playVideo() {
window.document.yourWav.play()
}
function stopVideo() {
window.document.yourWav.stop()
}
function rewindVideo() {
window.document.yourWav.rewind()
}
function forwardVideo() {
window.document.yourWav.forward()
}
function forward() {
window.document.yourWav.frameBack()
}
function back() {
window.document.yourWav.frameForward()
}
// --></SCRIPT>
</HEAD>
<BODY>
<H1>A video of the planet yourWav</H1>
<SCRIPT LANGUAGE="JavaScript"><!--
plugins=navigator.plugins
if(plugins["NPAVI32 Dynamic Link Library"]){
document.write("<EMBED SRC="yourWav.avi" NAME="yourWav" ")
document.writeln("AUTOSTART="TRUE" WIDTH="350" HEIGHT="240">")
}else{
document.write("Sorry. Your browser does not have ")
document.writeln("LiveVideo installed.")
}
// --></SCRIPT>
<FORM>
<INPUT TYPE="BUTTON" VALUE="Start" onClick="rewindVideo()">
<INPUT TYPE="BUTTON" VALUE="Play" onClick="playVideo()">
<INPUT TYPE="BUTTON" VALUE="Frame Forward" onClick="forward()">
<INPUT TYPE="BUTTON" VALUE="Frame Backward" onClick="back()">
<INPUT TYPE="BUTTON" VALUE="Stop" onClick="stopVideo()">
<INPUT TYPE="BUTTON" VALUE="End" onClick="forwardVideo()">
</FORM>
</BODY>
</HTML>
Determining Whether the LiveVideo Plug-In Is Installed
<HTML>
<HEAD>
<TITLE>Detecting Installed Plug-ins</TITLE>
</HEAD>
<BODY>
<H1>A video of the planet yourWav</H1>
<SCRIPT LANGUAGE="JavaScript"><!--
plugins = navigator.plugins;
if(plugins["NPAVI32 Dynamic Link Library"]){
document.write("<EMBED SRC="yourFile.avi" AUTOSTART="TRUE"")
document.writeln("WIDTH="350" HEIGHT="270">")
}else{
document.write("Sorry. Your browser does not have ")
document.writeln("LiveVideo installed.")
}
// --></SCRIPT>
</BODY>
</HTML>
<html>
<head>
<script type="text/javascript">
<!--
function showWindow(){
var len = navigator.plugins.length;
newWin = window.open("", "", "height=400,width=500");
newWin.document.write("<p>Plug-In Info:</p>");
for(var i = 0; i < len; i++){
newWin.document.write("<li>" + navigator.plugins[i].description + "</li>");
}
newWin.document.close()
}
//-->
</script>
</head>
<body>
<form>
<input type="button" value="Show Plug-In Information" onclick="showWindow()">
</form>
</body>
</html>
Displaying Plug-In Information
<HTML>
<HEAD>
<TITLE>Determining Installed Plug-ins</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript"><!--
p = navigator.plugins;
for(var i=0;i<p.length;++i){
with(document){
writeln("<P><B>Plugin: </B>"+p[i].name+"</P>")
writeln("<P><B>File name: </B>"+p[i].filename+"</P>")
writeln("<P><B>Description: </B>"+p[i].description+"</P>")
writeln("<P><B>MIME Types: </B>")
for(var j=0;j<p[i].length;++j)
writeln(p[i][j].type+"</BR>")
writeln("</P><HR>")
}
}
// --></SCRIPT>
</BODY>
</HTML>
Display PDF using plugin
<html>
<head>
<script language="JavaScript">
<!--
function findPlugin(ext) {
var thisExt, findExt;
for (var n=0; n < navigator.plugins.length; n++) {
for (var m=0; m < navigator.plugins[n].length; m++) {
thisExt = navigator.plugins[n][m].description.toLowerCase();
findExt = thisExt.substring(0, thisExt.indexOf(" "));
if (findExt == ext)
return(true);
}
}
return(false);
}
if (findPlugin("pdf")) {
document.open();
document.write("<embed src="yourFile.pdf" width="100%">");
document.close();
}
else {
location = "http//www.wbex.ru";
}
//-->
</script>
</head>
</html>
Find pluin for Midi
<html>
<head>
<script language="JavaScript">
<!--
var extNeed, namePlug;
function findPlugin(ext) {
var thisExt, findExt;
extNeed = ext;
for (var n=0; n < navigator.plugins.length; n++) {
for (var m=0; m < navigator.plugins[n].length; m++) {
thisExt = navigator.plugins[n][m].description.toLowerCase();
findExt = thisExt.substring(0, thisExt.indexOf(" "));
if (findExt == ext) {
namePlug = navigator.plugins[n].name;
return(true);
}
}
}
return(false);
}
if (findPlugin("midi")) {
alert("A plug-in for " + namePlug +" is installed.");
}else {
alert("A plug-in application to play ." + extNeed + " files is not installed!");
}
//-->
</script>
</head>
</html>
JavaScript to enumerate and display all installed plug-ins
<HTML>
<HEAD>
<TITLE>About Plug-ins</TITLE>
</HEAD>
<BODY>
<SCRIPT language="javascript">
numPlugins = navigator.plugins.length;
if (numPlugins > 0)
document.writeln("Installed plug-ins");
else
document.writeln("No plug-ins are installed.");
for (i = 0; i < numPlugins; i++) {
plugin = navigator.plugins[i];
document.write("<center><font size=+1><b>");
document.write(plugin.name);
document.writeln("</b></font></center><br>");
document.writeln("<dl>");
document.writeln("<dd>File name:");
document.write(plugin.filename);
document.write("<dd><br>");
document.write(plugin.description);
document.writeln("</dl>");
document.writeln("<p>");
document.writeln("<table border=1 >");
document.writeln("<tr>");
document.writeln("<th width=20%>Mime Type</th>");
document.writeln("<th width=50%>Description</th>");
document.writeln("<th width=20%>Suffixes</th>");
document.writeln("<th>Enabled</th>");
document.writeln("</tr>");
numTypes = plugin.length;
for (j = 0; j < numTypes; j++)
{
mimetype = plugin[j];
if (mimetype){
enabled = "No";
enabledPlugin = mimetype.enabledPlugin;
if (enabledPlugin && (enabledPlugin.name == plugin.name))
enabled = "Yes";
document.writeln("<tr align=center>");
document.writeln("<td>");
document.write(mimetype.type);
document.writeln("</td>");
document.writeln("<td>");
document.write(mimetype.description);
document.writeln("</td>");
document.writeln("<td>");
document.write(mimetype.suffixes);
document.writeln("</td>");
document.writeln("<td>");
document.writeln(enabled);
document.writeln("</td>");
document.writeln("</tr>");
}
}
document.write("</table>");
}
</SCRIPT>
</BODY>
</HTML>
Listing Plug-In Properties
<HTML>
<HEAD>
<TITLE>Listing the properties of a plug-in</TITLE>
<SCRIPT LANGUAGE="JavaScript"><!--
function listProperties(obj) {
document.writeln("<B>Properties of: </B>"+obj+"<BR>")
for(var p in obj)
document.writeln(p+"<BR>")
}
// --></SCRIPT>
</HEAD>
<BODY>
<EMBED SRC="yourfile.avi"><BR>
<SCRIPT LANGUAGE="JavaScript"><!--
listProperties(document.embeds[0])
// --></SCRIPT>
</BODY>
</HTML>
Properties of the Plugin Object
Property Description
description Contains the description of the plug-in.
filename Contains the filename of a plug-in program.
length Contains the number of MIME types supported by the plug-in.
name Contains the name of the plug-in.
Scan through each plug-in by provided parameters
<html>
<head>
<script language="JavaScript">
<!--
document.write("There are <b>" + navigator.plugins.length + "</b> plug-ins installed.<p>");
document.write("<table border=1 width="100%" cellpadding=5>" +
"<tr>" +
"<td>Name</td>" +
"<td>Description</td>" +
"<td>Filename</td>" +
"<td>Suffixes / MIME " + "type</td>" +
"</tr>");
for (n=0; n < navigator.plugins.length; n++) {
document.write("<tr valign="top">" +
"<td>" + navigator.plugins[n].name + "</td>" +
"<td>" + navigator.plugins[n].description + "</td>" +
"<td>" + navigator.plugins[n].filename +"</td><td>");
for (m=0; m < navigator.plugins[n].length; m++) {
document.write(navigator.plugins[n][m].suffixes + " = " + navigator.plugins[n][m].type +
"<br>");
}
document.write("</td></tr>");
}
document.write("</table>");
//-->
</script>
</head>
</html>
Synchronizing Two Plug-Ins
<HTML>
<HEAD>
<TITLE>Synchronizing Plug-ins</TITLE>
<SCRIPT LANGUAGE="JavaScript"><!--
function play() {
window.document.embeds[0].play()
window.document.embeds[1].play()
}
function stop() {
window.document.embeds[0].stop()
window.document.embeds[1].pause()
}
function start() {
window.document.embeds[0].rewind()
window.document.embeds[1].stop()
}
function end() {
window.document.embeds[0].forward()
window.document.embeds[1].stop()
}
// --></SCRIPT>
</HEAD>
<BODY onLoad="start()">
<H1>The Planet yourWav</H1>
<EMBED SRC="yourfile.avi" NAME="video" AUTOSTART="TRUE"
WIDTH="350" HEIGHT="240">
<EMBED SRC="yourfile.wav" HIDDEN="TRUE">
<FORM>
<INPUT TYPE="BUTTON" VALUE="Start" onClick="start()">
<INPUT TYPE="BUTTON" VALUE="Play" onClick="play()">
<INPUT TYPE="BUTTON" VALUE="Pause" onClick="stop()">
<INPUT TYPE="BUTTON" VALUE=" End " onClick="end()">
</FORM>
</BODY>
</HTML>