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

  • 来源: 互联网 作者: rocket   2008-03-20/11:26
  • 利用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,它返回对象包含的元素或者属性的个数。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多