uni-app開發問題總結(小程序與h5)2:兼容性


一、默認使用uni-app創建的css

有個默認引用的css(uni.css),里面是一些uni- 標簽用到的默認css;

其中有個

view{
font-size:32upx;
line-height:1.4
}
這個line-height的默認會在某些特殊情況下影響你的樣式,記得刪掉或者是在我們的view里給上這個屬性。

二、一套css兼容很多配置需要細心

uni-app自帶的upx會自適應,但在ipad,或者更大的尺寸是就會發現,字體,行距,會越來越大,樣式上會變得很丑;

我的解決方案是:

1.橫向布局用百分比與flex布局,盡量不用upx;

2.全局的字體大小等用px;

3.豎向布局行距等用px,其他自動撐開;

即便是這樣,在測試了很多款手機(安卓和ios)+ (自帶,uc,微信,qq,谷歌)等多款瀏覽器,依然會發現某些個別的手機樣式錯亂,這個時候需要單獨再調試,像我的這個發生在ipone8的微信瀏覽器上

三、聲音Audio

uni-app官方推薦let innerAudioContext = uni.createInnerAudioContext();的這種寫法,實測,在華為手機自帶瀏覽器+安卓手機的uc瀏覽器會出現bug,導致無法自動播放,播放后無法播放第二次。。。,在小程序里bug相對較少,畢竟平台微信已經做了統一;

我的解決方案是:

1.做了條件編譯,在小程序用之前let innerAudioContext = uni.createInnerAudioContext();這一套,在h5用下面這一套:

this.innerAudioContext = new Audio()
this.innerAudioContext.src = that.src
this.innerAudioContext.play()
通過UI設計讓蕪湖觸摸或者點擊,來達到無感知的自動播放效果,經測試完美實現所需效果;

四、swiper組件

默認的組件是這樣的

<swiper class="swiper" :current="current" skip-hidden-item-layout="true" :indicator-dots="indicatorDots" @change="currentChange"
indicator-active-color="#2CC0D6">
<swiper-item v-for="(item,index) in examList" :key="index">
</swiper-item>
</swiper >
測試,在安卓手機正常,ios出現滑動錯亂的問題;

我的解決方案是:

1.js判斷是否為ios,若不是,采用原來的;若是,棄用swiper,放棄滑動效果,改用按鈕點擊實現;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM