button标签未指定类型导致的问题
今天部门同事分来一bug:新浪微博授权页面mobile版的错误提示黄签不能关闭,查找其原因,发现是黄签关闭后又被显示出来了,很奇怪,但很明显是有哪个地方又触发了它的show方法。然后在js中跟踪发现黄签关闭后又触发了表单提交方法,而提交表单会触发表单校验功能,校验功能会再次显示出黄签来。
今天部门同事分来一bug:新浪微博授权页面mobile版的错误提示黄签不能关闭,查找其原因,发现是黄签关闭后又被显示出来了,很奇怪,但很明显是有哪个地方又触发了它的show方法。然后在js中跟踪发现黄签关闭后又触发了表单提交方法,而提交表单会触发表单校验功能,校验功能会再次显示出黄签来。
postMessage是html5的一个新功能,它是实现跨域通信的一种安全的策略,通过postMessage方式发送数据,通过在父子窗口添加onmessage事件进行监听,获取发送的数据,非常方便。
我们会经常使用iframes来加载第三方的内容、广告或者插件。使用iframe是因为他可以和主页面并行加载,不会阻塞主页面。当然使用iframe也是有利有弊的:Steve Souders在他的blog里面有阐述:Using Iframes Sparingly:
前几天在开发SDK时发现用Js模拟Ajax无刷新提交里面的方式,在IE9下创建Iframe会出问题,抛出一个错误: DOM Exception: INVALID_CHARACTER_ERR (5) ,原来IE9下不能用 document.createElement(‘<iframe name=”uploadIframe”>’);
跨域通信这个话题在之前已经提到总结过,关于跨域通信大家可以参考同源策略,跨域资源共享的10种方式以及IE下因设置document.domain而无法和Iframe通信的解决方法。
受同源策略限制,JavaScript不能跨域! 这里提到了同源策略,那么什么是同源策略呢?
同源策略(Same Origin Policy),它是由Netscape提出的一个著名的安全策略。 现在所有支持JavaScript 的浏览器都会使用这个策略。同源策略阻止从一个域上加载的脚本去获取或操作另一个域上的文档属性。也就是说,受到请求的 URL 的域必须与当前 Web 页面的域相同。这说明浏览器隔离来自不同源的内容,以防止它们之间的操作。
最近在开发SDK的过程中发现IE下有个很怪异的问题:在同一域下,因在父页面上设置了document.domain,而导致无法正常和Iframe(也是同域下)进行通信,IE下抛出的错误是:SCRIPT5: 拒绝访问,导致无法操作iframe中的内容。
最近在做一个模拟Ajax提交的功能,原理很简单,就是动态创建一个form,并指定其target为页面中的一个隐藏的iframe,当form提交时会提交到这个iframe中,从而实现提交数据,而不刷新当前页面的功能,这个方法多用来做图片或文件上传的功能。
attributes用来检索属于该对象的属性的集合,它也是一个伪数组(可参考上篇文章:将HTMLCollection/NodeList/伪数组转换成数组),什么情况下会用到这个对象呢?比如有下面的一段html代码: