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

Javascript
JavaScript 序列化对象实现代码
替代window.event.srcElement效果的可兼容性的函数
div+css+js模拟tab切换效果 事件绑定 IE,firefox兼容
IE和Firefox下event事件杂谈
javascript option onclick事件ie解决方案 兼容ie,firefox
javascript demo 基本技巧
用js实现层随着内容大小动态渐变改变 推荐
JS 的应用开发初探(mootools)
JS 在数组插入字符的实现代码(可参考JavaScript splice() 方法)
JQuery Tips(4) 一些关于提高JQuery性能的Tips
jQuery 淡入淡出、展开收缩菜单实现代码
js控制div及网页相关属性的代码
javascript 翻页测试页(动态创建标签并自动翻页)
Js获取table当前tr行的值的代码
IE 上下滚动展示模仿Marquee机制
jQuery解决iframe高度自适应代码
jQuery 连续列表实现代码
利用jQuery的$.event.fix函数统一浏览器event事件处理
Javascript和Ajax中文乱码吐血版解决方案
js Firefox 加入收藏夹功能代码 兼容Firefox 和 IE

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


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