当前位置:
首页 > 网站开发 > JavaScript >
-
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,它返回对象包含的元素或者属性的个数。
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式