- skyline引擎下,用boundingClientRect获取不到span下text的rect信息
skyline引擎下,用boundingClientRect获取不到span下text的rect中与offset相关的信息。这是一个诡异的问题,如果用代码片段模式,会发现是能获取到。一到正式工程,就获取不到了,所以不要在代码片段模式里面复现。复现步骤如下: 用js-skyline基础模板创建一个项目。将以下代码复制到项目首页。// index.wxml <view style="height: 200px;"></view> <span id="span"> <text id="text">text</text> </span> // index.js Component({ lifetimes: { ready() { this.createSelectorQuery().select(`#text`) .boundingClientRect((rect) => { if (rect) { console.log(`text rect:${JSON.stringify(rect)}`) } }) .exec(); } } }) 3.开发者工具控制台或真机环境都会输出如下结果,所有offset的相关信息是0 text rect:{"id":"text","dataset":{},"left":0,"top":0,"right":0,"bottom":0,"width":0,"height":0} 4.如果以代码片段运行,会得到正确结果: text rect:{"id":"text","dataset":{},"left":0,"right":29.109375,"top":200,"bottom":221,"width":29.109375,"height":21}
08-06 - 在8.0.50下,BackgroundAudioManager设置startTime不生效
微信版本8.0.50下,BackgroundAudioManager设置startTime不生效,复现代码如下: this.bgAudioPlayer = wx.getBackgroundAudioManager(); this.bgAudioPlayer.startTime = 6; this.bgAudioPlayer.title = 'title'; this.bgAudioPlayer.src = 'your_xxx.wav'; 我这边涉及到的小程序是一个听书类的小程序,进入页面要定位到原来的播放位置开始听书,同时要切换音色,切换音色时会换音频的src,换了src后,要计算出原来播放的时间与对应音色切换后的播放时间的关系,然后通过startTime设置播放初始位置,好保持与原来的内容的连贯性。 目前规避方法只能和seek方法去跳到指定位置,但是我测试是在onplay事件没触发前,seek方法跳转也不生效(哪怕是在onCanplay中seek);在onplay中可跳转,但这时跳转会有个问题是会出现已经听到音频最前面两个字了,才跳转,体验很差。 这个影响规范应该很大,听歌,听书,音乐类的小程序应该都有影响。
08-02 - skyline模式下,line-height:20px,实现容器尺寸会是21px。
skyline模式下,line-height:20px,实现容器尺寸会是21px。 看起来是一句话,但是这个问题会导致阅读类小程序无法实现,因为行高与容器计算关系不准确的话,在左右滑动分页这种计算模式下,会出现底部与顶部显示半行,1/3行等的现象,且无法归避 用下面一行代码即可复现: <view style="line-height: 20px;font-size: 16px;">内容1,内容2,看起来是一句话...</view> // 内容如果是1行,view容器的高度会是21px // 内容如果是2行,view容器的高度会是42px // 内容每多1行,view容器的高度是【20px * 行数 + 行数】像素 // 复现条件:1.font-size>=15px; 2.文本内容要需要多写几个字,最好用正常的一个句子,有中文有标点符号。 [图片]
07-30