1. 程式人生 > >關於生成二維碼導致顯示不出來 vivo手機出現問題解決辦法

關於生成二維碼導致顯示不出來 vivo手機出現問題解決辦法

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這種小眾核心,也許真的會有類似問題