js面向对象的学习笔记九(BOM 与 DOM 经常使用的属性分析)
一 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 经常使用的属性分析)的更多相关文章
- 前端学习笔记之BOM和DOM
前言 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DO ...
- 前端学习:JS面向对象知识学习(图解)
前端学习:JS面向对象知识学习(图解) 前端学习:JS(面向对象)代码笔记 JS面向对象图解知识全览 创建类和对象 方式1:使用Object()函数 方式2:使用自变量 方式3:使用工厂函数 创建多个 ...
- 【09-23】js原型继承学习笔记
js原型继承学习笔记 function funcA(){ this.a="prototype a"; } var b=new funcA(); b.a="object a ...
- Underscore.js 源码学习笔记(下)
上接 Underscore.js 源码学习笔记(上) === 756 行开始 函数部分. var executeBound = function(sourceFunc, boundFunc, cont ...
- Underscore.js 源码学习笔记(上)
版本 Underscore.js 1.9.1 一共 1693 行.注释我就删了,太长了… 整体是一个 (function() {...}()); 这样的东西,我们应该知道这是一个 IIFE(立即执行 ...
- 多线程学习笔记九之ThreadLocal
目录 多线程学习笔记九之ThreadLocal 简介 类结构 源码分析 ThreadLocalMap set(T value) get() remove() 为什么ThreadLocalMap的键是W ...
- MDX导航结构层次:《Microsoft SQL Server 2008 MDX Step by Step》学习笔记九
<Microsoft SQL Server 2008 MDX Step by Step>学习笔记九:导航结构层次 SQL Server 2008中SQL应用系列及BI笔记系列--目录索 ...
- python3.4学习笔记(九) Python GUI桌面应用开发工具选择
python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96 ...
- Go语言学习笔记九: 指针
Go语言学习笔记九: 指针 指针的概念是当时学C语言时了解的.Go语言的指针感觉与C语言的没啥不同. 指针定义与使用 指针变量是保存内存地址的变量.其他变量保存的是数值,而指针变量保存的是内存地址.这 ...
随机推荐
- Quartz2D裁剪圆形头像
// 0. 载入原有图片 UIImage *image = [UIImage imageNamed:icon]; // 1.创建图片上下文 CGFloat margin = border; CGSiz ...
- Cocos2dx 3.0开发环境的搭建--Eclipse建立在Android工程
一.前言: 这部分描述了Cocos2d-x 3.0的一些基础内容,以及在Eclipse上上编译我们的Cocos2d-x项目,成功把Helloworld执行起来了.看完本篇博客之后.你就会知道Cocos ...
- PV操作——生产者和消费者
首先,先来看几个概念: 同步:协作的过程,比如,多人开发合作. 相互排斥:争抢资源的过程.比如苦逼的大学选课: 临界区:进程中对临界资源实施操作的那段程序: 临界资源:一次仅仅能一个进程使用的资源,比 ...
- Directx11学习笔记【一】 最简单的windows程序HelloWin
声明:本系列教程代码有部分来自dx11龙书及dx11游戏编程入门两本书,后面不再说明 首先,在vs2013中创建一个空的解决方案Dx11Demo,以后的工程都会放在这个解决方案下面.然后创建一个win ...
- 【C语言探索之旅】 第二课:工欲善其事,必先利其器
内容简介 1.课程大纲 2.第一部分第二课:工欲善其事,必先利其器 3.第一部分第三课预告:你的第一个程序 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C ...
- 关系数据库的基本概念和MySQL说明
关系数据库的基本概念 数据库: 大量的信息化解决方案的高效管理. 根据数据结构来组织.存储和管理数据的库. 数据库系统(DBS,DATABASE SYSTEM): 数据库(DB,DATABASE) + ...
- 允许Ubuntu14.04"保存"屏幕亮度值
Ubuntu / Debian 该系统有一个共同的问题,也就是说,每个引导.系统会打开你的屏幕亮度调至最高值. 我很奇怪,为什么14.04这一问题的版本号依然不动. 但是,我们可以做一个脚本Ubunt ...
- 简介Customer Care Accelerator (CCA)
几个月前,我们发表了CRM4.0的附属插件:Customer Care Accelerator (CCA). 年以来CCA已经存在,我们这些新手在CRM的世界里, Customer Care Fram ...
- Jquery在线咨询地址
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js" type=&quo ...
- java 工厂的变形模拟的各种应用
工厂模式是在项目开发中使用效率高,意一个接口,该定义用于创建对象.让子类来决定哪一个类实例. 这就是一个工厂类的示意图 接着来一个简单的样例: 如上图所看到的,我们首先定义我们的产品抽象类接口,也能够 ...