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

Javascript
可实现多表单提交的javascript函数
比较详细的关于javascript中void(0)的具体含义解释
随机显示经典句子或诗歌的javascript脚本
javascript实现的多条新闻公告系统
解析arp病毒背后利用的Javascript技术附解密方法
比较详细的javascript对象的property和prototype是什么一种关系
访问百度和谷歌网速测试的javascript代码
javascript 动态改变层的Z-INDEX的代码style.zIndex
javascript+css实现单击颜色褪去效果
javascript 表单日期选择效果
比较简单的javascript实现input双击后可以编辑
javascript实现的颜色块滑动的动态效果
js实现网页检测是否安装了 Flash Player 插件
javascript 实现父窗口引用弹出窗口的值的脚本
javascript 实现双击才能打开链接的方法
用javascript实现兼容IE7的类库 IE7_0_9.zip提供下载
document.createElement("A")比较不错的属性
用javascript实现不按Ctrl实现Multiple Select多选
JavaScript-世界上误解最深的语言分析
IE和Mozilla的兼容性汇总event

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-10   浏览: 348 ::
收藏到网摘: 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,它返回对象包含的元素或者属性的个数。