文档章节

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

J
 JB晨
发布于 2014/06/26 15:26
字数 403
阅读 51
收藏 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
膜拜
多内核IE浏览器--IETester

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

匿名
2009/12/21
14.1K
0
html5 websocket如果在众多浏览器中实现,你会选择用它代替ajax么

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

那天早上
2013/10/16
751
4
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
div css页面如何提高用户体验 和 chrome浏览器CSS字体大小小于12px不起作用解决方法

提高用户体验度可以增加流量、增加用户在你网页停留时间、提高成交转化率等。 提高用户体验度首先是需要设计适合用户体验的网页美工图。有了合适的美工图,在后续的CSS切图布局时候才能按照网...

名字已被取
2016/03/08
155
0

没有更多内容

加载失败,请刷新页面

加载更多

babel6升级到7,jest-babel报错:Requires Babel "^7.0.0-0", but was loaded with "6.26.3".

自从将前端环境更新到babel7,jest-babel之前是基于babel6的,执行时候就会报:Requires Babel "^7.0.0-0", but was loaded with "6.26.3". 很烦,因为连续帮好几台电脑修复这个问题,所以记...

曾建凯
58分钟前
1
0
探索802.11ax

802.11ax承诺在真实条件下改善峰值性能和最差情况。 如何改善今天的Wi-Fi? 在决定如何改进当前版本以外的Wi-Fi时,802.11ac,IEEE和Wi-Fi联盟调查了Wi-Fi部署和行为,以确定更广泛使用的障碍...

linuxprobe16
今天
2
0
使用linux将64G的SDCARD格式化为FAT32

一、命令如下: sudo fdisk -lsudo mkfs.vfat /dev/sda -Isudo fdisk /dev/sda Welcome to fdisk (util-linux 2.29.2). Changes will remain in memory only, until you decide to wri......

mbzhong
今天
4
0
深入理解Plasma(四):Plasma Cash

这一系列文章将围绕以太坊的二层扩容框架,介绍其基本运行原理,具体操作细节,安全性讨论以及未来研究方向等。本篇文章主要介绍在 Plasma 框架下的项目 Plasma Cash。 深入理解Plasma(1):...

HiBlock
昨天
1
0
命令参数的三大风格:Posix、BSD、GNU

今天读到命令行中参数的风格有三大类,即Unix/Posix、BSD、GNU。分别有以下特征: Unix/Posix风格,即命令后的参数,可以分组,便必须以连字符开头,如ps -aux。 BSD风格,即命令后的参数,可...

大别阿郎
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部