關於生成二維碼導致顯示不出來 vivo手機出現問題解決辦法
阿新 • • 發佈:2018-12-03
https://github.com/tomfriwel/weapp-qrcode
qrcode = new QRCode('canvas_' + i, {
text: qrCode,
colorDark: "#000000",
colorLight: "#FFFFFF",
correctLevel: QRCode.CorrectLevel.H,
width: 300 / 750 * wx.getSystemInfoSync().screenWidth,
height: 300 / 750 * wx.getSystemInfoSync().screenWidth,
});
原因:
這裡,你的顏色將會直接設定成strokeStyle
這個顏色是和html的canvas一樣的
但是,瀏覽器核心對這個顏色的支援並不統一
唯一確定支援的顏色,是標準的# + 6位16進位制數
我理解,可能vivo手機的瀏覽器核心是opera的
導致3位數字不能被支援
而且,有可能出現White!=white
這種,預定義名稱的相容性問題
全部化為標準的16進位制6位寫法
IE下,# + 8位16進位制數的帶透明度顏色,是不支援的 必須寫成rgba(*,*,*,*)
有文章說過vivo的手機比較怪異,核心一些元件,預設瀏覽器核心,和大多數系統有點不同
如果核心真的是UC或者opera這種小眾核心,也許真的會有類似問題