JavaScript高级程序设计18.pdf
系统对话框
alert()、confirm()和prompt()调用系统对话框向用户显示消息,显示对话框的时候代码会停止执行,关闭后继续执行
alert()警告提示框
confirm()点击确认返回true,退出或关闭返回false
prompt()在第二个的基础上多一个文本输入域,有2个参数,第二个参数是文本输入域默认值
prompt("What's your name ?","Michael"),点击确认返回文本输入域的值,其他情况返回null
某些浏览器对多个对话框实现了禁用复选框,如勾选了禁用复选框,除非刷新,否则屏蔽后续对话框
location对象
location对象提供了当前加载窗口中文档有关的信息,还提供了一些导航功能,location既是window的属性也是document对象的属性
location对象的属性将URL解析为独立的片段,开发人员可以访问不同的属性访问这些片段
修改这些属性可以更改浏览器位置,这些修改会保存在浏览器历史记录中,可以使用
location.replace("http://www.baidu.com")//重定向到新网址,且不能返回前一个页面
location.reload(); //有可能从缓存中重新加载
location.reload(true); //从服务器重新加载
查询字符串参数
function getQueryStringArgs(){
//取得查询字符串并去掉开头的问号
var qs=(location.search.length>0 ? location.search.substring(1) : " "),
args={},
items=qs.length ? qs.split("&"):[],
item=null,
name=null,
value=null,
i=0,
len=items.length;
for(i=0,i<len;i++){
item=items[i].split("=")
name=decodeURLComponent(item[0]);
value=decodeURLComponent(item[1]);
if(name.lenth){
args[name]=value;
}
}
return args;
}
navigator对象
navigator对象用于检测显示网页的浏览器类型
检测插件
非IE浏览器可以使用plugins数组来达到检测插件的目的,该数组的每一项都包含下列属性
name:插件的名称
description:插件的描述
filename:插件的文件名
length:插件所处理的MIME类型数量
//在IE中无效
function hasPlugin(name){
name=name.toLowerCase();
for(var i=0;i<navigator.plugins.length;i++){
if(navigator.plugins[i].name.toLowerCase().indexOf(name)>-1){
return true;
}
}
return false;
}
alert(hasPlugin("Flash"));
检测IE中的插件唯一方式是使用专有的ActiveXObject类型,并尝试创建一个特定插件的实例。IE是以COM对象的方式实现插件的,而COM对象使用唯一标识符来标识,Flash的标识符是ShockwaveFlash.ShockwaveFlash。
//检测IE中的插件
function hasIEPlugin(name){
try{
new ActiveXObject(name);
return true;
}
catch(ex){
return false;
}
}
//检测Flash
alert(hasIEPlugin("ShockwaveFlash.ShockwaveFlash"));
//检测QuickTime
alert(hasIEPlugin("QuickTime.QuickTime"));
//检测所有浏览器中的Flash
function hasFlash(){
var result=hasPlugin("Flash");
if(!result){
result=hasIEPlugin("ShockwaveFlash.ShockwaveFlash");
}
return result;
}
JavaScript高级程序设计18.pdf的更多相关文章
- JavaScript高级程序设计2.pdf
第三章 基本概念 区分大小写 ECMAScript中的一切(变量.函数名和操作符)都区分大小写 标识符 指变量.函数.属性的名字或者函数的参数 第一个字符必须是一个字母.下划线或美元符号,其它字符可以 ...
- JavaScript高级程序设计61.pdf
JSON对象 早期的JSON解析器就是使用JavaScript的eval()函数,ECMAScript5对解析JSON的行为做出了规定,定义了全局对象JSON. JSON对象有2个方法:stringi ...
- JavaScript高级程序设计60.pdf
错误处理 try-catch语句 try{ //可能会导致错误的代码 }catch(error){ //在错误发生时如何处理 } error是一个包含着错误信息的对象,它有一个message属性,保存 ...
- JavaScript高级程序设计58.pdf
15章 使用Canvas绘图 略 16章 HTML5脚本编程 HTML5规范了新的HTML标记和JavaScript API,以便简化创建动态Web界面的工作 跨文档消息传递 简称XDM,指来自不同域 ...
- JavaScript高级程序设计57.pdf
表单序列化 首先了解一下浏览器如何将数据发送给服务器 对表单字段的名称和值进行URL编码,使用和号(&)分隔 不发送禁用的表单字段 只发送勾选的复选框和单选按钮 不发送type为“reset” ...
- JavaScript高级程序设计55.pdf
输入模式 HTML5为文本字段新增了pattern属性,这个属性的值是一个正则表达式,用于匹配文本框中的值 例如,只想在允许在文本字段中输入数值 <input type="text&q ...
- JavaScript高级程序设计54.pdf
过滤输入 对于一些浏览器,可以使用正则表达式里的text()测试用户按下的按键,Firefox和safari(3.1版本之前)会对向上向下.退格键和删除键触发keypress事件,在Firefox中, ...
- JavaScript高级程序设计53.pdf
共有的表单字段方法 每个表单字段都有两个方法:focus()和blur(),其中focus()用于将浏览器焦点设置到表单字段,激活表单字段.可以侦听页面的load事件 EventUtil.addHan ...
- JavaScript高级程序设计52.pdf
表单脚本 表单的基础知识 在HTML中,表单是由<form>元素表示的,在Javascript对应的是HTMLFormElement类型,它继承自HTMLElement,因此具有与其他HT ...
随机推荐
- js中push()方法
直接上代码: var roleIdsTemp = []; $("#addRole .modalcheckbox-all").each(function(key, value) { ...
- python文件操作汇总
1.创建文件 f = open(filename,'w+')
- iOS8 iPad Warning: Attempt to present <UIImagePickerController:xxxx > on xxxx which is already presenting (null)
解决方法: /* I think this is because in iOS 8, alert views and action sheets are actually presented view ...
- 实现基于文件存储的Session类
自主实现Session功能的类,基于文件方式存储Session数据,测试基本通过,还比较好玩,实际应用没有意义,只不过是学习Session是如何实现的. 一般基于文件存储Session数据效率不是很高 ...
- 关于安卓启动eclipse错误:找不到元素‘d:devices'的声明
可以把C:\Documents and Settings\Administrator\.android\devices.xml这个文件删除, 再把sdk里面tools\lib下的这个文件拷贝到你删除的 ...
- Setup VSFTPD Server with Virtual Users On CentOS, RHEL, Scientific Linux 6.5/6.4/6.3
We have already shown you How to Setup VSFTPD Server on CentOS 6.5/6.4 in our previous article. In t ...
- winForm帮助信息
在项目开发中,由于没更新一块内容,帮助文档都得及时更新,否则将导致最新的应用程序与帮助文档不一致.为此,写了一个帮助页面,这样就可以实时看到帮助信息. 首先,新建了一个帮助信息类,代码如下: /// ...
- C#如何释放已经加载的图片 (转)
使用Image.FromFile取磁盘上的图片时,这个方法会锁定图片文件,而且会导致内存占用增大, 有几种方法解决: 一:将Image类转换成Bitmap类 System.Drawing.Image ...
- js 删除数组方法
今天遇到一个比较脑残的问题 ,在在用js删除数组的时候 delete 数组[下标]的方法删除数组时,该数组的下标变为null,但是数组的长度并没有发生相应的变化 转而使用splice(小标,第N个)删 ...
- Android中基于Socket的网络通信
1. Socket介绍 2. ServerSocket的建立与使用 3. 使用ServerSocket建立聊天服务器-1 4. 使用ServerSocket建立聊天服务器-2 5. 在Android中 ...