BOM(浏览器对象模型(BrowserObjectModel)),允许访问和操控浏览器窗口。研发者通过使用BOM,可移动窗口、更改状态栏文本、执行其它不与页面内容发生直接联系的操作。

本文将从ExtJS中以下四类服务入手:
 
1,命名空间
2,用户代理对象
3,Cookie
4,定时调用函数(将于下一博文详细陈述)
 
 
命名空间
 
ExtJS的命名空间是在window对象所提供的全局范围内建立相互独立的范围,概念上类似于Java的package。
 
Ext.namespace("com.baidu");
console.info(typeof com);//object
console.info(typeof com.baid);//object
 
使用Ext.namespace对“com.baidu”字符串进行解析,完成后变成两个对象,一个是com,另一个是com拥有的属性baidu。
凭借Ext.namespace(),实际开发时可以避免工作伙伴或是第三方开发商造成的命名冲突
 
在项目中可以创建这样的命名空间,从而在各个模块之间读取共享数据时使用,但应该限制为自读变量。如果模块之间要交换数据,最好使用事件机制或是将数据交互交给后台服务器。
 
 
用户代理对象
 
用户代理对象指的是window.navigator.userAgent这个属性,该属性存储用户浏览器的型号、操作系统、渲染引擎的名称等信息,这些都是判断浏览器类型的一些条件。以往,部分浏览器厂商都会在这个属性上做手脚,让脚本误认或是误判断浏览器的类型,因此,程序员必须编写非常复杂的脚本来作出判断。
下面介绍Ext简单的布尔条件表达式
 
属性
说明
Ext.isAir
判断执行环境是否为Adobel AIR
Ext.isBorderBox
判断执行的IE浏览器是否处于非严谨(non-strict)模式
Ext.isGecko/Ext.isGecko2/Ext.isGecko3
判断是否为某个版本的Gecko渲染引擎
Ext.isChrome
判断是否为Google Chrome浏览器
Ext.isIE/Ext.isIE6/Ext.isIE7/Ext.isIE8
判断是否为IE浏览器
Ext.isSafari/Ext.isSafari2/Ext.isSafari3/Ext.isSafari4
判断是否为某个版本的Safari浏览器
Ext.isWebkit
判断浏览器是否为Webkit浏览器
Ext.isStrict
判断浏览器是否处于严谨模式
Ext.isWindows
判断用户操作系统为Windows
Ext.isMac
判断用户操作系统为Mac
Ext.isLinux
判断用户操作系统为Linux
 
 Cookie
 
  Cookie操作非常简单,只有三个方法:
    clear(name) :清除为name设置的值
    set(name,value) : 设置name的值为value
    get(name) : 得到name设置的值
 
var simleValue = "a simple string";

var compleValue = {
name : "comple",
description : "I'm so complex" } ;
Ext.util.Cookies.set('simple',simpleValue);
Ext.util.Cookies.set('complex',compleValue);
Ext.util.Cookies.set('complexJSON',Ext.encode(complexVaule));

Cookie只能存储文字,如果要存储对象,就必须把对象JSON化,就是调用Ext.encode(),这个方法会将复杂的对象结构转换为字符串,取出时只要爱班字符串丢给Ext.decode(),就能将字符串转换为原来的对象类型。

 

ExtJS浏览器对象模型BOM——命名空间和用户代理对象、Cookie的更多相关文章

  1. 第8章 浏览器对象模型BOM 8.1 window对象

    ECMAScript是javascript的核心,但如果要在web中使用javascript,那么BOM(浏览器对象模型)则无疑是真正的核心.BOM提供了很多对象,用于访问浏览器的功能,在浏览器之间共 ...

  2. 第8章 浏览器对象模型BOM 8.2 location对象

    location 是最有用的 BOM对象之一,它提供了与当前窗口中加载的文档有关的信息,还提供了一些导航功能.事实上, location 对象是很特别的一个对象,因为它既是 window 对象的属性, ...

  3. JavaScript高级程序设计(第3版)学习笔记·第8章——浏览器对象模型BOM

    转自:http://www.shaoqun.com/a/43768.aspx 访问和操作浏览器窗口的模型称为浏览器对象模型BOM(Browser Object Model),但习惯上是把所有针对浏览器 ...

  4. js浏览器对象模型-BOM

    bom browse object model 浏览器对象模型. 也就是window对象下面的东西. location 对象 window.location.href 表示打开窗口的路径. windo ...

  5. 浏览器对象模型BOM小结

    概念 BOM (Browser Object Model) 浏览器对象模型 BOM提供了独立于内容而与浏览器窗口进行交互的对象 BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是window B ...

  6. 浏览器对象模型BOM

    第二章 浏览器对象模型BOM 1.作用:操作窗口:提供导航对象:提供定位对象:浏览器上方的地址栏:提供跟屏幕相关对象:提供对Cookie的支持 2.根元素:window:代表整个窗口:window,o ...

  7. 浏览器对象模型BOM(Browser Object Model)

    1.结构 BOM是Browser Object Model的缩写,简称浏览器对象模型 BOM提供了独立于内容而与浏览器窗口进行交互的对象 由于BOM主要用于管理窗口与窗口之间的通讯,因此其核心对象是w ...

  8. JavaScript编程:浏览器对象模型BOM

    4.浏览器对象模型BOM: document.body.offsetwidth可以获取浏览器宽度. Window对象:          窗口操作:            1.moveBy(dx,dy ...

  9. JavaScript 浏览器对象模型 (BOM)

    浏览器对象模型 (BOM) 使 JavaScript 有能力与浏览器“对话”. 浏览器对象模型 (BOM) 浏览器对象模型(Browser Object Model)尚无正式标准. 由于现代浏览器已经 ...

随机推荐

  1. 拼接两个yuv合帧

    http://blog.csdn.net/huahuahailang/article/details/9040847 /**************************************** ...

  2. Window虚拟内存管理(转)

    内存管理是操作系统非常重要的部分,处理器每一次的升级都会给内存管理方式带来巨大的变化,向早期的8086cpu的分段式管理,到后来的80x86 系列的32位cpu推出的保护模式和段页式管理.在应用程序中 ...

  3. Android的SearchView详解

    转自https://www.jianshu.com/p/7c1e78e91506 一.简述 SearchView是v7包中的一个兼容性控件,它可以单独使用,也可以配合menu+toolbar一起使用. ...

  4. python 获取当前运行的类名函数名

    import inspect def get_current_function_name(): return inspect.stack()[1][3] class MyClass: def func ...

  5. JSON 新感

    1,如何解析复杂JSON 选择fastJson 用起来简单方便,前提必须是标准的JSON: 例子: paraArray = "[" + paraArray + "]&qu ...

  6. percona xtradb cluster test

    docker run --rm -ti -e CLUSTER_NAME=test -e MYSQL_ALLOW_EMPTY_PASSWORD=1 --entrypoint="bash&quo ...

  7. Specular Mask Texture

    [Specular Mask Texture] Specular Texture是一个Mask纹理,通过Mask纹理的texel可以控制每个像素的纹理. 在属性中添加Specular Mask Tex ...

  8. 【HDU4405】Aeroplane_chess

    题意 飞行棋.有n+1格,开始时在0号格子,每一步都要扔一个dice(六个面,概率相同)哪一面朝上他就会向前走x+i步.当x+i大于等于N的时候,游戏结束.另外,地图上有m条航线.第i条航线可以直接从 ...

  9. UITextView设置占位文字

    这里只介绍一种,这种方便扩展,可以占位文字颜色. 我们继承一个UITextView: #import <UIKit/UIKit.h> @interface MyTextView : UIT ...

  10. 270. Closest Binary Search Tree Value 二叉搜索树中,距离目标值最近的节点

    [抄题]: Given a non-empty binary search tree and a target value, find the value in the BST that is clo ...