一  BOM物 window 的 相关属性

1. 用户配置的机器配置对象 navigator

 navigator.userAgent //该属性能够查看用户机器浏览器的配置
"Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4"

2. 用户uri訪问地址 location

主    机:host: "www.baidu.com"                           

   主机名称:hostname: "www.baidu.com"

   完整uri :href: "http://www.baidu.com/s?wd=%E5%A6%82%E4%B"

   域    名:origin: "http://www.baidu.com"

   路    径:pathname: "/s"

   端 口 号:port: ""

   协议类型:protocol: "http:"

   又一次加载:reload: function  无參数 直接调用

   又一次加载:replace: function 有參数 调用后 不会在history中生成

   GET 參数:search: "?wd=aaa&lang=zh_cn&name=lizsi"

//获取用户url 上的參数
//直接使用 getParam('name')
function getParam(param){
var getarr = (window.location.search.substring(1)).split('&');
var getparam = {};
for(var j in getarr){
var temp = getarr[j].split('=');
temp[0] = temp[0].replace(' ','');//去掉变量名中的空格
getparam[temp[0]] = temp[1];
}
return getparam[param];
} //对于pathinfo模式的获取 直接使用getpathinfo(1); 从1開始
function getpathinfo(index){
var getarr = (window.location.pathname.substring(1)).split('/');
return getarr[parseInt(index)-1];
}

3. 历史訪问记录 history

仅仅同意訪问本域名下的历史记录

   后退 一 页:back: function 无參数 直接调用

   前进 一 页:forward: function 无參数 直接调用

   返回指定页:go: function -1 后退一页 0 刷新当前页 1 前进一页 2 前进俩页

   pushState: function () 參数

   replaceState: function () 參数

 //详情查看 http://www.zhangxinxu.com/study/201306/ajax-page-html5-history-api.html?

area=pudong

	//点击过的 增加历史记录
var query = this.href.split("? ")[1];
history.pushState({ title: title }, title, location.href.split("?")[0] + "?" + query);
var title = $(this).text().replace(/\d+$/, "");
document.title = title; //监听 相关事件
window.addEventListener("popstate", function() {
history.replaceState(null, document.title, location.href.split("?")[0]);
});

4. 屏幕对象 screen

屏幕可见高度: availHeight: 667

   屏幕可见宽度: availWidth: 375

   屏幕分辨率:   colorDepth: 24

   屏幕高度:     height: 667

   屏幕宽度:     width: 375

   availLeft: 0

   availTop: 0

二  DOM 对象 document

1. 缓存 cookie

 //直接使用 cookieParam('name')
function cookieParam(param){
var getarr = document.cookie.split(';');
var getparam = {};
for(var j in getarr){
var temp = getarr[j].split('=');
temp[0] = temp[0].replace(' ','');//去掉变量名中的空格
getparam[temp[0]] = temp[1];
}
return getparam[param];
}

版权声明:本文博主原创文章,博客,未经同意不得转载。

js面向对象的学习笔记九(BOM 与 DOM 经常使用的属性分析)的更多相关文章

  1. 前端学习笔记之BOM和DOM

    前言 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DO ...

  2. 前端学习:JS面向对象知识学习(图解)

    前端学习:JS面向对象知识学习(图解) 前端学习:JS(面向对象)代码笔记 JS面向对象图解知识全览 创建类和对象 方式1:使用Object()函数 方式2:使用自变量 方式3:使用工厂函数 创建多个 ...

  3. 【09-23】js原型继承学习笔记

    js原型继承学习笔记 function funcA(){ this.a="prototype a"; } var b=new funcA(); b.a="object a ...

  4. Underscore.js 源码学习笔记(下)

    上接 Underscore.js 源码学习笔记(上) === 756 行开始 函数部分. var executeBound = function(sourceFunc, boundFunc, cont ...

  5. Underscore.js 源码学习笔记(上)

    版本 Underscore.js 1.9.1 一共 1693 行.注释我就删了,太长了… 整体是一个 (function() {...}());  这样的东西,我们应该知道这是一个 IIFE(立即执行 ...

  6. 多线程学习笔记九之ThreadLocal

    目录 多线程学习笔记九之ThreadLocal 简介 类结构 源码分析 ThreadLocalMap set(T value) get() remove() 为什么ThreadLocalMap的键是W ...

  7. MDX导航结构层次:《Microsoft SQL Server 2008 MDX Step by Step》学习笔记九

    <Microsoft SQL Server 2008 MDX Step by Step>学习笔记九:导航结构层次   SQL Server 2008中SQL应用系列及BI笔记系列--目录索 ...

  8. python3.4学习笔记(九) Python GUI桌面应用开发工具选择

    python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96 ...

  9. Go语言学习笔记九: 指针

    Go语言学习笔记九: 指针 指针的概念是当时学C语言时了解的.Go语言的指针感觉与C语言的没啥不同. 指针定义与使用 指针变量是保存内存地址的变量.其他变量保存的是数值,而指针变量保存的是内存地址.这 ...

随机推荐

  1. Quartz2D裁剪圆形头像

    // 0. 载入原有图片 UIImage *image = [UIImage imageNamed:icon]; // 1.创建图片上下文 CGFloat margin = border; CGSiz ...

  2. Cocos2dx 3.0开发环境的搭建--Eclipse建立在Android工程

    一.前言: 这部分描述了Cocos2d-x 3.0的一些基础内容,以及在Eclipse上上编译我们的Cocos2d-x项目,成功把Helloworld执行起来了.看完本篇博客之后.你就会知道Cocos ...

  3. PV操作——生产者和消费者

    首先,先来看几个概念: 同步:协作的过程,比如,多人开发合作. 相互排斥:争抢资源的过程.比如苦逼的大学选课: 临界区:进程中对临界资源实施操作的那段程序: 临界资源:一次仅仅能一个进程使用的资源,比 ...

  4. Directx11学习笔记【一】 最简单的windows程序HelloWin

    声明:本系列教程代码有部分来自dx11龙书及dx11游戏编程入门两本书,后面不再说明 首先,在vs2013中创建一个空的解决方案Dx11Demo,以后的工程都会放在这个解决方案下面.然后创建一个win ...

  5. 【C语言探索之旅】 第二课:工欲善其事,必先利其器

    内容简介 1.课程大纲 2.第一部分第二课:工欲善其事,必先利其器 3.第一部分第三课预告:你的第一个程序 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C ...

  6. 关系数据库的基本概念和MySQL说明

    关系数据库的基本概念 数据库: 大量的信息化解决方案的高效管理. 根据数据结构来组织.存储和管理数据的库. 数据库系统(DBS,DATABASE SYSTEM): 数据库(DB,DATABASE) + ...

  7. 允许Ubuntu14.04&quot;保存&quot;屏幕亮度值

    Ubuntu / Debian 该系统有一个共同的问题,也就是说,每个引导.系统会打开你的屏幕亮度调至最高值. 我很奇怪,为什么14.04这一问题的版本号依然不动. 但是,我们可以做一个脚本Ubunt ...

  8. 简介Customer Care Accelerator (CCA)

    几个月前,我们发表了CRM4.0的附属插件:Customer Care Accelerator (CCA). 年以来CCA已经存在,我们这些新手在CRM的世界里, Customer Care Fram ...

  9. Jquery在线咨询地址

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type=&quo ...

  10. java 工厂的变形模拟的各种应用

    工厂模式是在项目开发中使用效率高,意一个接口,该定义用于创建对象.让子类来决定哪一个类实例. 这就是一个工厂类的示意图 接着来一个简单的样例: 如上图所看到的,我们首先定义我们的产品抽象类接口,也能够 ...