溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

微信小程序中wx.previewImage的示例分析

發(fā)布時間:2021-07-06 10:26:21 來源:億速云 閱讀:271 作者:小新 欄目:web開發(fā)

這篇文章主要為大家展示了“微信小程序中wx.previewImage的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“微信小程序中wx.previewImage的示例分析”這篇文章吧。

小知識

微信小程序中wx.previewImage的示例分析

wx.previewImage是微信小程序官方提供的預(yù)覽圖片功能的api。

在新頁面中全屏預(yù)覽圖片。預(yù)覽的過程中用戶可以進行保存圖片、發(fā)送給朋友等操作。

那么他有哪些坑呢?

我遇到的問題藏得比較深,我是在使用wxParse解析富文本時發(fā)現(xiàn)的。wxParse在解析img時會給它加上點擊事件,那么這個點擊事件是什么呢?

圖在下面:

微信小程序中wx.previewImage的示例分析  

從中可以看到是微信的圖片預(yù)覽功能。其中that.setData({isPreview:true})是我加上去用來判斷是否點擊了圖片,本身是沒有的,此時先忽略掉。

首先,點擊圖片預(yù)覽時,會終止頁面一切正在執(zhí)行的操作,這是為什么呢?我猜測是觸發(fā)了頁面的onHide函數(shù),我在onHide中打log時果不其然,驗證了我是正確的。

當(dāng)你再次點擊圖片回去時,會再次觸發(fā)頁面的onShow事件。所以,當(dāng)你在onHide或者onShow函數(shù)里有執(zhí)行的操作的時候就要注意了,這兩個函數(shù)都會被觸發(fā),所以這時候就需要判斷,這兩個函數(shù)被觸發(fā)是來源于正常的頁面加載隱藏還是來源于點擊圖片預(yù)覽,于是便有了我上面在wxParse的源碼wxParse.js里的wxParseImgTap里加了一句that.setData({isPreview:true}) ,而后我們可以用isPreview來判斷onShow和onHide是否是被預(yù)覽圖片觸發(fā)的。

此時我們并沒有解決頁面事件被終止的事實,因為線程被終止了。因為js里是單線程的,預(yù)覽圖片時會向服務(wù)器請求圖片src,所以此時其他的異步操作便被停止,因為預(yù)覽圖片是一個同步操作,所以當(dāng)你點擊圖片時,圖片預(yù)覽優(yōu)先級最高,其他動作暫停,當(dāng)你再次點擊圖片回到原樣時,圖片預(yù)覽完成,在開發(fā)者工具里會自動繼續(xù)之前頁面被暫停的動作,但是真機調(diào)試卻不會。

以上是“微信小程序中wx.previewImage的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI