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

Javascript
javaScript 数值型和字符串型之间的转换
从父页面读取和操作iframe中内容方法
IE DOM实现存在的部分问题及解决方法
jqPlot Option配置对象详解
jquery JSON的解析方式
JavaScript 捕获窗口关闭事件
xml 封装与解析(javascript和C#中)
JavaScript 设计模式学习 Singleton
JavaScript 设计模式学习 Factory
javascript CSS画图之基础篇
JavaScript 获取事件对象的注意点
JavaScript Konami Code 实现代码
Google Map API更新实现用户自定义标注坐标
JavaScript this 深入理解
javascript EXCEL 操作类代码
window.parent调用父框架时 ie跟火狐不兼容问题
关于取不到由location.href提交而来的上级页面地址的解决办法
JS input 数字验证代码
网页全屏显示代码说明分析
JS 学习笔记 防止发生命名冲突

Javascript 中的 javascript实例教程(3) 探测浏览器插件


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

  利用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="/upload/tech/20091104/20091104151834_912d2b1c7b2826caf99687388d2e8f7c.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,它返回对象包含的元素或者属性的个数。