系统对话框

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的更多相关文章

  1. JavaScript高级程序设计2.pdf

    第三章 基本概念 区分大小写 ECMAScript中的一切(变量.函数名和操作符)都区分大小写 标识符 指变量.函数.属性的名字或者函数的参数 第一个字符必须是一个字母.下划线或美元符号,其它字符可以 ...

  2. JavaScript高级程序设计61.pdf

    JSON对象 早期的JSON解析器就是使用JavaScript的eval()函数,ECMAScript5对解析JSON的行为做出了规定,定义了全局对象JSON. JSON对象有2个方法:stringi ...

  3. JavaScript高级程序设计60.pdf

    错误处理 try-catch语句 try{ //可能会导致错误的代码 }catch(error){ //在错误发生时如何处理 } error是一个包含着错误信息的对象,它有一个message属性,保存 ...

  4. JavaScript高级程序设计58.pdf

    15章 使用Canvas绘图 略 16章 HTML5脚本编程 HTML5规范了新的HTML标记和JavaScript API,以便简化创建动态Web界面的工作 跨文档消息传递 简称XDM,指来自不同域 ...

  5. JavaScript高级程序设计57.pdf

    表单序列化 首先了解一下浏览器如何将数据发送给服务器 对表单字段的名称和值进行URL编码,使用和号(&)分隔 不发送禁用的表单字段 只发送勾选的复选框和单选按钮 不发送type为“reset” ...

  6. JavaScript高级程序设计55.pdf

    输入模式 HTML5为文本字段新增了pattern属性,这个属性的值是一个正则表达式,用于匹配文本框中的值 例如,只想在允许在文本字段中输入数值 <input type="text&q ...

  7. JavaScript高级程序设计54.pdf

    过滤输入 对于一些浏览器,可以使用正则表达式里的text()测试用户按下的按键,Firefox和safari(3.1版本之前)会对向上向下.退格键和删除键触发keypress事件,在Firefox中, ...

  8. JavaScript高级程序设计53.pdf

    共有的表单字段方法 每个表单字段都有两个方法:focus()和blur(),其中focus()用于将浏览器焦点设置到表单字段,激活表单字段.可以侦听页面的load事件 EventUtil.addHan ...

  9. JavaScript高级程序设计52.pdf

    表单脚本 表单的基础知识 在HTML中,表单是由<form>元素表示的,在Javascript对应的是HTMLFormElement类型,它继承自HTMLElement,因此具有与其他HT ...

随机推荐

  1. struts2-ognl 访问静态方法

    在内网基本上还真没看到有哥们发现这个问题, 在google上有的哥们说 这是 v 2.3.20的一个bug, 有的人说在该版本中已经不建议通过ognl方式访问静态方法了. 对于这两种说法, 我比较赞同 ...

  2. iOS---There was an internal API error 错误

    There was an internal API error. 错误原因:把Product Name作为程序名称,程序名称错乱 解决方法:检查Product Name, 不要包含中文以及特殊字符.在 ...

  3. AngularJS 路由:ui-router

    UI-Router是Angular-UI提供的客户端路由框架,它解决了原生的ng-route的很多不足:视图不能嵌套.这意味着$scope会发生不必要的重新载入.这也是我们在Onboard中引入ui- ...

  4. java-成员变量的属性与成员函数的覆盖

    java中在多态的实现是通过类的继承或者接口的实现来完成的. 在类继承或者接口实现过程中就会涉及到成员属性以及成员函数的重写,需要注意的是,成员函数的重写是直接覆盖父类的(继承中),但是成员变量重写是 ...

  5. 我的第一篇博客:requestAnimationFrame学习笔记

    通常,我们在浏览器中写动画会用到哪些技术呢? flash 可以实现一些非常复杂的动画,但随着HTML5的成熟,个人感觉flash终究会成为明日黄花. css3 当前大部分现代浏览器已经对css3支持的 ...

  6. PYTHON开发--面向对象基础入门

    面向对象 一:面向对象初级 1.思考:首先在python中,以前我们以前用到的几乎都是函数式编程,但是有时候函数式编程其中代码重复利用率太高,我们往往会把这些重复代码写进一个函数日后去调用,所以呢,今 ...

  7. TaskMgr C#技术拾遗

    1. DataGridView和ContextMenuStrip的绑定是发生在DataGridView的CellMouseClick事件,在事件中指定右键菜单弹出: 2. DataGridView的列 ...

  8. LightOj_1027 A Dangerous Maze

    题目链接 题意: 你在一个迷宫里, 开始的时候你面前有n个门, 选择每个门的概率相等, 有两种结果: 1)回到|x|分钟之前(x为负时) 2)x分钟之后出迷宫(x为正时) 每次回到|x|分钟之前, 你 ...

  9. BZOJ 3969 low power

    Description 有\(n\)个机器,每个机器有\(2\)个芯片,每个芯片可以放\(k\)个电池.每个芯片能量是\(k\)个电池的能量的最小值.两个芯片的能量之差越小,这个机器就工作的越好.现在 ...

  10. 百部BBC经典纪录片,附地址,需要的请抱走