先来介绍一下我们的主角download让我们有一个简单认识,图中我们可以看到a标签的download属性,他是用来指定可以下载,值是filename。图片来源
A · 解答思路 问题的根源通常是页面缺少(或写错)文档类型声明 ;IE 在没有检测到有效 DOCTYPE 时,会回退到怪异模式渲染页面,其渲染行为会模拟非常老旧版本浏览器(表现类似 IE5),导致布局和样式和预期不符。 详细说明 的作用是告
设计模式这种东西说起来都有一个怪怪的名字,但是使用率还是蛮高的。简单介绍一下单例模式,只实例化一次,在一些弹框啊,提示啊什么上面会用到,尤其是在使用了数据驱动视图这种写法,控制起来还是比较难的,之前jquery直接$('.popover').hide()就都隐藏掉不太一样。
一个网页由三层组成(html 结构,js 行为,css 表现),一切的东西其实都建立在html上,html里面的dom提供了一些事件,然后通过js封装,我们可以用js去调用dom上的事件。事件有很多,有我用过的有我没用过的,今天我想分析一番。
HTML5已经从一个新的名词变成了我们在项目中经常用到的东西了,今天我们就来分析一番其中contenteditable 。
A · 解答思路 回答用一句调侃点出了核心原因:前端开发者如果长期使用高性能设备和新版浏览器开发调试,很容易忽略真实用户环境(尤其是老旧浏览器、低版本 IE)中页面的实际兼容情况。 详细说明 门户网站通常面向非常广泛、包含大量老旧设备和浏览器(比如低版本 IE)的用户群体,而 Flexbox 在这些环境下支持不
A · 解答思路 当写成 128.toString() 时,JavaScript 解析器会把 128. 识别成一个带小数点的数字字面量(即 128.0),而不是“数字 128 后面跟一个属性访问”,因此直接在后面写 .toString() 会因为语法歧义而出错。 详细说明 常见的三种规避方式:
A · 解答思路 可以监听 input 或 change 事件来感知值的变化,两者触发时机不同;对于需要兼容旧版 IE 的场景,还需要额外处理 propertychange 事件;更通用的做法是引入“数据绑定”的思想,用 getter/setter 统一管理数据变化。 详细说明 - input
A · 解答思路 JavaScript 变量(以及某些场景下直接当作标识符使用的名称)命名规则中不允许使用连字符 -,把 - 换成下划线 即可解决报错,例如把 add-button 改成 addbutton。 详细说明 JavaScript 标识符的命名规则是:只能以字母、下划线
A · 解答思路 setTimeout 设置的毫秒数并不是“精确的执行时间”,而是“多久之后可以被放入任务队列等待执行”;只有当前同步代码(包括被 alert 阻塞的那段)全部执行完毕,JS 引擎才会去看队列里有没有到时间的回调可以执行。 示例代码