微信小程序跳转的时候,报上面的错误,前提是各个配置都是正确的,一脸懵逼!
原因是今天早上打开微信开发者工具提示升级到最新版本导致的
最新版本是:1.03.2005140
解决方法:要么回退到上一个版本,要么使用最新的体验版
JavaScript 浮点数精度之谜
我们首先就想到计算机能读懂的是二进制,所以我们进行运算的时候,实际上是把数字转换为了二进制进行的,所以我们把0.1和0.2转换为二进制
0.1 => 0.0001 1001 1001 1001..(无限循环) 0.2 => 0.0011 0011 0011 0011…(无限循环)这里可以看出转换为二进制是一个无限循环的数字,单在计算机中对于无限循环的数字会进行舍入处理的,进行双精度浮点数的小数部分最多支持52位。然后把两个2进制的数进行运算得出的也是一个二进制数值,最后再把它转换为十进制。保留17位小数,所以0.1+0.2的值就成了 0.30000000000000004。 0.1+0.1的值成了0.20000000000000000,全是0的时候可以省略,就成了0.2
比较成熟的工具库可以使用,
Math.js,BigDecimal.js,number-precision等等由于 iOS Safari 限制不允许 audio autoplay, 必须用户主动交互(例如 click)后才能播放 audio
// 解决ios微信不自动播放 const _audio = document.getElementById('audio'); if (typeof WeixinJSBridge == "object" && typeof WeixinJSBridge.invoke == "function") { _audio.play(); } else { if (document.addEventListener) { document.addEventListener("WeixinJSBridgeReady", function() { _audio.play(); }, false); } else if (document.attachEvent) { document.attachEvent("WeixinJSBridgeReady", function() { _audio.play(); }); document.attachEvent("onWeixinJSBridgeReady", function() { _audio.play(); }); } } // 解决ios safari浏览器不自动播放,当用户开始触碰页面时出发播放。 document.addEventListener("touchstart", function(e) { if (isPlay) { _audio.play(); isPlay = false; } }, false);总结:
严格相等运算符是比较值的好方法。如果你想直接检查 NaN 值或对负零和正零进行更严格的区分,那么 Object.is() 是一个不错的选择。node编程中最重要的思想就是模块化,import和require都是被模块化所使用。
小程序开发中发现,为view设置了宽高后,background-image并没有适应宽高,查询发现需要加上下面的代码才可以
.zoomImage { background-image:url(images/yuantiao.jpg); background-repeat:no-repeat; background-size:100% 100%;//重点是这句 -moz-background-size:100% 100%; }line-height属性用于设置行间的距离,也就是行高。可以用来控制文字与行之间的距离
如上图,行间距包括上间距,下间距和文字的高度。
改变行间距的大小,实际是改变上间距和下间距的高度,文字的高度是不会变化的
报错信息:
pages/index/index.wxss 中的本地资源图片无法通过 WXSS 获取,可以使用网络图片, 或者 base64,或者使用<image/>标签。解决办法:将图片demo_bg.jpg 转换为base64,在这里把要使用的图片转换一把,然后将得到的字符放到background-image属性值。
项目中需要在用户第一次进入的时候,为页面加上一个遮罩引导指示功能,一顿操作之后发现,在遮罩层滚动的时候,下面的页面会滚动。
解决办法:直接在遮罩层上加catchtouchmove="{{true}}"就可以,但是需要注意的是,在模拟器上是不行,在真机上是可以的。
微信小程序中遮罩层的滚动穿透问题 技术交流可关注公众号