關於生成二維碼導致顯示不出來 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這種小衆內核,也許真的會有類似問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章