文档章节

兼容主流浏览器的网页闹钟

J
 JB晨
发布于 2014/06/26 15:26
字数 403
阅读 50
收藏 0
//下面是要用到的全局变量
var songSrc="";     //铃声路径
var clickTime=null; //按键时的即时时间
//判断是否为数字
function nanFilter(event){
    var eve=window.event||event;
    var code=eve.keyCode||eve.which;
    if(code<48&&code!=8||code>57){
        return false;
    }
    return true;
}
/*
    大家可以看到,此处做了两种兼容性的处理:
    1对于事件对象的IE和标准浏览器
    2对于按键值的兼容
    有一点需要注意,Backspace回退键不需要过滤
*/
 
function isOldIE(){
    var mode=document.documentMode;
    var activeX=window.ActiveXObject;
    //是否为IE
    if(activeX){
        //为IE 8或渲染模式为IE 8或不支持mode(IE 6,7)
        if(!mode||mode<9){
            return true;
        }
    }
    return false;
}
/*
   此处用到了mode,这是IE独有的玩意儿,可用于判断IE的版本或者内核的渲染
*/

function getBgSoundElement(){
    var bgsoundElement=null;
    //IE 6,7,8
    if(window.isOldIE()){
        bgsoundElement=document.createElement("bgsound");
    }
    else{
        bgsoundElement=document.createElement("audio");
    }
    return bgsoundElement;
}
/*
   关键性的代码,用于动态创建音频元素,此处做了兼容性处理


*/

function bindAttribute(bgSoundElement){
    bgSoundElement.setAttribute("src",songSrc);
    if(bgSoundElement.nodeName=="AUDIO"){
        bgSoundElement.setAttribute("autoplay","autoplay");
    }
}
/*
   绑定自动播放属性及路径到元素
*/

function getMilliseconds(hours,minutes,seconds){
    var date=new Date();
    if(hours&&hours>=0&&hours<=23){
        date.setHours(hours);
    }
    if(minutes&&minutes>=0&&minutes<=59){
        date.setMinutes(minutes);
    }
    if(seconds&&seconds>=0&&seconds<=59){
        date.setSeconds(seconds);
    }
    return date.getTime();
}
/*
   根据时分秒获取毫秒数
*/

function disableAllInput(){
    var inputs=document.getElementsByTagName("input");
    for(var i in inputs){
        inputs[i].disabled=true;
    }
}
/*
   将页面上所有控件禁用主要的工作已经完成了,剩下的就靠组装了~~
*/

© 著作权归作者所有

共有 人打赏支持
J
粉丝 0
博文 3
码字总数 919
作品 0
长沙
加载中

评论(2)

kofack
kofack
79
kofack
kofack
膜拜
html5 websocket如果在众多浏览器中实现,你会选择用它代替ajax么

websocket 保持网页与服务器的tcp通讯连接,数据传输量小,效率高,通讯及时。 目前各大主流浏览器已经兼容。 如果你的用户是完全使用主流浏览器的,你会选择用它代替ajax么?...

那天早上
2013/10/16
751
4
多内核IE浏览器--IETester

在设计网页的时候,不得不考虑浏览器兼容问题,就IE在市场上就有好几个版本在使用,而每个版本对CSS的解析方式都会有些许的差别,要做到兼容各 种主流浏览器,我们首先要做的当然是安装各种不...

匿名
2009/12/21
14.1K
0
IETester 7.3.3 发布,多版本 IE 浏览器

IETester 7.3.3 发布,该版本修复了在 Win7+ 系统上从 DebugBar 菜单中启动 IETester 时出现“IETester not found” 的问题。 在设计网页的时候,不得不考虑浏览器兼容问题,就IE在市场上就有...

oschina
2014/08/24
3.9K
18
ECMA Script 6 成绩 72% 的新 Edge 内核

IE6 的辉煌没有人能够忘记,但随着 Webkit 系的崛起,原开发团队被拆散分配至其它产品的 IE 开始被消费者认为是“卡、慢、丑”的象征。终于,微软开始为 IE 打造新的 Edge 引擎。至少从数据上...

oschina
2014/11/26
5K
41
JavaScript图像处理--ImageFX

该 JavaScript 库为图片添加效果,如虚化,锐化,浮雕,加亮等。ImageFX 使用画布对象实现这些效果,兼容所有主流浏览器。这个库非常容易使用,只要将 .js 库文件插入网页,调用那些函数即可...

匿名
2009/03/05
4.8K
1

没有更多内容

加载失败,请刷新页面

加载更多

java基础知识,小栗子

来操作一下数组.....注意带参数的变长数组的使用. package com.avatus;import java.util.Random;import java.util.Scanner;public class Main { public static void main(St...

Oh_really
20分钟前
2
0
SSO单点登录PHP简单版

  前面做了一个新项目,需要用户资源可以需要共享。由于之前没有做过这样的东西,回家之后,立马网站百度“单点登录”。帖子很多,甄别之后,这里列几篇认为比较有营养。   http://blog...

slagga
57分钟前
2
0
Java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一

对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。 本文参考java 泛型详解、Java中的泛型方法、 java泛型详解 1 概述 泛型在j...

hensemlee
今天
2
0
Annotation注解详细介绍

目录介绍 1.Annotation库的简单介绍 2.@Nullable和@NonNull 3.资源类型注释 4.类型定义注释 5.线程注释 6.RGB颜色纸注释 7.值范围注释 8.权限注释 9.重写函数注释 10.返回值注释 11.@Keep注释...

潇湘剑雨
今天
2
0
一步步编写自己的PHP爬取代理IP项目(二)

这一章节我们正式开展我们的爬虫项目,首先我们先要知道哪个网站能获取到免费代理IP,目前比较火的有西刺代理,快代理等,这里我们拿西刺代理作为例子。 这里就是一个个免费的IP地址以及各自...

NateHuang
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部