当前位置: 首页 > 图文教程 > 网络编程 > Javascript > Javascript实例教程(4) 探测浏览器插件

Javascript
我也种棵OO树JXTree[js+css+xml]
新浪中用来显示flash的函数
JXTree对象,读取外部xml文件数据,生成树的函数
用js来格式化字符串示例模仿css
js prototype 格式化数字 By shawl.qiu
新浪刚打开页面出来的全屏广告代码
记录几个javascript有关的小细节
Some tips of wmi scripting in jscript (1)
JavaScript Try...Catch 声明的 使用方法
JS版获取字符串真实长度和取固定长度的字符串函数
Javascript中的数学函数
ArrayList类(增强版)
javascript中巧用“闭包”实现程序的暂停执行功能
javascript判断单选框或复选框是否选中方法集锦
FireFox的getYear的注意事项
JavaScript For...In 使用方法
JavaScript Switch 声明
JavaScript If...Else 声明
JavaScript For 循环
JavaScript While 循环 教程

Javascript实例教程(4) 探测浏览器插件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 241 ::
收藏到网摘: n/a

利用Javascript探测网络浏览器的插件程序



利用Javascript可以探测在网络浏览器中的插件程序,但是值得指出的是否,它只在Netscape Navigator有效。下面的代码显示了怎样探测audio/midi类型插件程序:


<SCRIPT LANGUAGE="JavaScript"><!--


var can_play = false;




var mimetype = 'audio/midi';




if (navigator.mimeTypes) {


if (navigator.mimeTypes[mimetype] != null) {


if (navigator.mimeTypes[mimetype]


.enabledPlugin != null) {


can_play = true;


document.write('<EMBED SRC="sound.mid"


HIDDEN=TRUE LOOP=FALSE AUTOSTART=FALSE>');


}


}


}




function playSound() {


if (document.embeds && can_play) {


if (navigator.appName == 'Netscape')


document.embeds[0].play();


else


document.embeds[0].run();


}


}




function stopSound() {


if (document.embeds && can_play)


document.embeds[0].stop();


}


//--></SCRIPT>




那在网页上如何调用呢?以下是具体代码:


<A HREF="#" onMouseover="playSound()" onMouseOut=


"stopSound()"><IMG SRC="image.gif" WIDTH="100"


HEIGHT="100" BORDER="0"></A>




你可能对于一些其它的编程语言很熟悉,比如C++或者Java等等,它们也是可以创建对象的,现在最新的VB版本VB.NET也具有了更好的面向对象功能-----创建对象。从本质上讲,创建对象的想法只是为了创建一个简单的实体,这个实体包含了许多属性和方法。以下是一个对象构造器的例子:

function Person(name, age, colour) {


this.name = name;


this.age = age;


this.colour = colour;


}


然后,我们可以这样来调用Person构造器:


var somebody = new Person("Patrick", 22, "red");


或者从用户那里得到输入数值:


var pName = prompt("What is your name?");


var pAge = prompt("How old are you this year?");


var pColour = prompt("What is your favourite colour?");


var somebody = new Person(pName, pAge, pColour);


所有在JavaScript中得构造器,就象在Java中,都可以利用new关键字来进行调用。当一个person利用它的属性{"Patrick",
22, "red"}被创建(或者说被构造)的时候,这些数值就可以访问了,比如 :



somebody.name, or


somebody["name"]


"Patrick"


somebody.age, or


somebody["age"]


22


somebody.colour, or


somebody["colour"]


"red"


因为我们利用name增加了Person的属性,所以它们必须通过name来被引用,这点在后面的代码中可以看到。如果我们使用数字,那么我们就必须使用数字来引用,比如要用somebody[0],而不用somebody.name。Javascript的数组和对象(比如
forms,images,frames,…)都允许这两种方法。


另外地,数组和对象都有一个本质的属性,即length(长度)。我们在编制程序的时候,可以这样来使用它:objectName.length,它返回对象包含的元素或者属性的个数。