摘要:
跨域消息传递:postMessage()1、兼容性问题:IE8及其以上浏览器和其它主流浏览器都已经支持2、使用范围:跨iframe、跨页面、跨域3、使用方法: 发送消息:postMessage( data, scope ) data值需要传递的消息,scope指定发送给那些域 监听消息:使用事件监听方法监听(addEventListener/attachEvent) 之所以可以使用事件监听方法监听,是因为当调用postMessage方法时,会触发message事件,并传递给事件处理程序一个事件对象。4、事件对象的属性: data:传递的消息 source:消息源自的Window对象 ... 阅读全文
摘要:
1、应用程序缓存和其它存储方式的区别: a、不像localStorage和sessionStorage那样只存储web应用程序的数据,它将应用程序自身存储起来。 b、不像浏览器缓存一样会过期或者被用户手动清除,除非用户“卸载”它们 c、离线状态下使用localStorage存储相关的数据,当再次进入在线状态时,能够将存储的数据传输到服务器2、应用程序缓存清单 使用方法: a、想要将应用程序“安装”到应用程序缓存中,首先创建一个清单:包括所有应用程序所依赖的URL列表 b、在主HTML页面的标签中设置manifest属性指向该清单文件 清单内容: a、首行必须以:CACHE MA... 阅读全文
摘要:
userData是IE5及其以上浏览器支持的一种客户端存储方式,它通过在document元素后面附加一个专属的元素来实现。对userData的封装:/*** IE userdata封装*/function UserDataStorage( maxage ){ var memory = document.createElement( "div" ); memory.style.display = "none"; memory.style.behavior = "url('#default#userData')"; doc 阅读全文
摘要:
封装cookie的操作:查询cookie个数、查询所有cookie的键、获取cookie、设置cookie、删除cookie、清除全部cookie/*** cookieStorage*/function cookieStorage( maxage, path ){ var cookie = ( function(){ var cookie = {}; var all = document.cookie; if( all ==="" ){ return cookie; } var list = all.split( "; " ); for( var i=0 阅读全文
摘要:
1、本地存储方式的补充:flash cookie ,用于flash,最大不超过100k,借助flash的ExternalInterface接口,可以实现js对flash cookie的操作google gears, 是google开发的一款浏览器插件,内嵌SQLite数据库,并提供了api对其进行操作,但已被废弃indexedDB,目前在firefox中有实现,同cookie等存储方式相比,它可以存储多种类型的数据2、cookie1、cookie的值中不允许包含分号、逗号和空白符,在存储之前最好使用encodeURIComponent方法对其进行编码,读取时再进行解码2、和jQuery中不同的 阅读全文
摘要:
客户端存储遵循同源策略,不同的站点页面之间不可以相互读取对方的数据,但同一站点的不同页面之间可以共享存储的数据客户端存储的种类:1、web存储 localStorage、sessionStorage2、cookie3、userData(IE)4、web数据库(尚未标准化) 索引数据库API(indexed Database API)5、文件系统API 用于将文件通过XHR上传到服务器主要看了localStorage和sessionStorage区别: 1、存储的有效期。localStorage为永久存储,除非用户手动删除;sessionStorage为会话存储,页面关闭之后就消失。 ... 阅读全文
摘要:
1、终止请求和超时终止请求XMLHttpRequest对象提供abort方法,调用该方法时触发abort事件XHR2提供了timeout属性,当超时发生时触发timeout事件。但浏览器尚不支持自动超时。可以使用setTimeout模拟实现。例如:function timedGetText( url, time, callback ){ var request = new XMLHttpRequest(); var timeout = false; var timer = setTimeout( function(){ timeout = true; request.abort(); },.. 阅读全文