Firefox 坑

右键点击时 auxclick 先触发,再触发 contextmenu
  • 查看器里面的"计算后"不一定准确:http://ckeditor.com/ "the best"
  • audio(有controls属性) 加载失败将不显示控件,而且在本地web服务测试下src不能使用本地文件系统。
  • outline(border之外)的框是在没有设置 overflow:hidden 属性的元素内容外面,比如 text-indent 为负值,内容超出边框等情况。
    // chrome input focus时 outline-offset : -2px;
  • Firefox默认在页面加载时持续禁用Button的动态状态(Firefox persists the dynamic disabled state )。使用autocomplete属性可控制此特性。
  • console.log('e'); throw 'asdf' // 控制台表现抛错提前(48正常)
  • try{ a('roomId'); function a(e) {console.log(e)}}catch(e){console.log(e)} //报错,函数声明在try块中不提前(48正常)
  • a();{function a(){console.log(1)}} //48 函数声明提前只能提前到语句块顶部,但还是函数作用域(var),48以下提前到函数作用域顶部。
  • 函数可以被有条件来声明(不管Firefox版本只提升到if块),这意味着,在一个 if 语句里,函数声明是可以嵌套在里面的。有的浏览器会将这种有条件的声明看成是无条件的声明,无论这里的条件是true还是false,浏览器都会创建函数。因此,它们不应该被使用。
  • FireFox浏览器无论如何都不支持跨域资源的download属性下载,在Chrome浏览器下,使用download属性是可以下载的,但是,并不能重置下载的文件的命名
  • 低版本Firefox(firefox49无此情况)的flex项目(后面都是基于flex方向为row)可以相当于容器设置height,尽管容器没有height属性。
  • Firefox 的button中的子元素不能监听到事件,包括css的hover;
  • input
  • body不支持scrollTop滚动,但是有webkit暂时没有的scrollTo和scrollIntoViewOptions,还可以使用document.documentElement.scrollTop, webkit有非标准的Element.scrollIntoViewIfNeeded()
  • iframe特点:动态插入的一个iframe的src属性允许在插入文档语句之后赋值,还是能监听到iframe的load事件(chrome相反)。没有src属性会载入about:blank并触发事件(chrome不会触发事件)
  • box-sizing 支持非标准的padding-box