发布了文章2020-03-15
经过持续的迭代,Rax 小程序迎来了一个大的升级,支持全新的运行时方案。站在 2020 年初这个时间点,我们想从 Rax 小程序的特点出发,进行一次全面的梳理与总结,并且在文末附上了 Rax 与当前主流的小程序开发框架的对比。本文将从 API 设计与性能、双引擎架构、优秀...
发布了文章2019-10-26
source map 是开发时调试代码的利器之一。现代的构建工具如 webpack 早已对 source map 有了完备的支持,对照文档就能很容易在打包时顺手生成然后在现代浏览器如 Chrome/Firefox 中使用。关于相关配置的介绍使用已经有很多文章,这里就不再赘述。本文想探究的是 sour...
发布了文章2019-08-17
本文是 Chrome 团队新人入职学习资料《Life of a Pixel》的概要版,首发于我的博客(点此查看),欢迎关注。原文 Slides 地址:[链接]中文字幕演讲视频地址:[链接]
发布了文章2019-07-23
流式渲染技术,不同于传统意义上前端领域的服务端渲染(即 SSR),指的是云端性能强劲的机器进行画面渲染,将渲染完成的数据传送至客户端,客户端只负责播放及处理和上传用户输入信号至服务端的一种技术,谷歌的云游戏平台即是使用案例之一。在开源社区也有一些相关...
回答了问题2019-05-31
不能,safari 没有 win 版本。
回答了问题2019-05-21
原生 js 语言中数组不存在 nv_length 这个属性,可能是宿主环境中注入的吧。
回答了问题2019-05-19
楼主的代码没有问题,H 组件中的值会随着父组件的 n 值变化而变化。可以再检查一下。 额,楼主的代码在我看到题目的时候确实是没有问题的,我也验证过了,不用踩我了哈哈。
回答了问题2019-05-17
[链接]
回答了问题2019-05-14
答:浏览器发出网络请求需要新开线程,而且可以发出请求的端口数量有限,从开销角度考虑不可能无限发出并发请求;此外如果浏览器不作限制,大量的请求同时发至服务器,也可能超过服务器的处理并发请求的数量阈值(针对单个 IP),从而导致请求失败。
关注了问题2019-05-10
回答了问题2019-05-10
[链接] 官方文档有详细教程的吧。
回答了问题2019-05-10
自然必须是特别卡的,按一秒钟 24 帧计,楼主可以尝试一下看看浏览器是什么表现。如果按照楼主的方式,连 js 这种高级语言都能流畅地处理视频,那市面上大量的视频编码器播放器存在的意义是什么呢?对于这种数据密集型的场景,js 就不是很适用。
回答了问题2019-05-09
{代码...}
回答了问题2019-05-09
新建一个 Controller 基类,所有的 controller 均由该基类继承而来。该基类的构造函数中会传入 ctx 参数,并令 this.ctx = ctx;
回答了问题2019-05-09
{代码...}
回答了问题2019-05-08
element 的 upload 组件中有一个 accept 参数用于声明接受上传的文件类型。
回答了问题2019-05-07
假设待渲染的模板文件为 template.ejs,内容如下: {代码...} 渲染的代码如下: {代码...}
回答了问题2019-05-07
根据楼主的描述,如果不借助服务端,就必须使用持久化存储了。浏览器提供的持久化存储方案包括 Local Storage、Session Storage、IndexedDB、Web SQL 以及 Cookies。至于选用哪种,楼主可以自行研究决定。
回答了问题2019-05-06
如果是 HTTP 协议层面的 3XX 重定向,JavaScript 无能为力;如果是 js 代码中设定的跳转,可以监听 onbeforeunload 实践并在其中使用 alert、confirm 等弹框对页面跳转进行拦截。但是目前许多浏览器会忽略该事件,具体可参见 [链接] 。
回答了问题2019-05-06
监听 touchstart 和 touchend 两个事件。在前者的回调函数中记录当前时间,在后者的回调函数中做时间差,当时间差大于你设定的阈值后,即可认为用户进行了长按操作。