問題如題:具體場景描述:掃碼,支付,完成后跳轉到完成頁面,完成頁面上有付款價格,商鋪,以及優(yōu)惠券信息??偟膩碚f頁面信息不多,代碼流程也不復雜,只是一個展示頁面。但是在ios下會有一定幾率出現(xiàn)頁面空白的情況,測試大概計算了一下,10次有1~2次的頻率出現(xiàn)(特別是退出微信重新登陸了后)。出問題后復制鏈接,重新打開每次就又都正常
遇見這個問題很詭異,完全蒙了。剛開始以為是頁面報錯了(這玩意就算是ios真機調試也沒辦法調試),只能alert斷點的方式來測有沒有流程跑不通,結果發(fā)現(xiàn)壓根頁面上沒有流程阻塞的問題,打印節(jié)點也是ok的,把外部文件的引用順序也優(yōu)化了,基本上能想到的方式都試了,還是有問題——最后,自己心血來潮(抓狂不已)下,點空白頁上某個點(大概是正常顯示金額的位置),發(fā)現(xiàn)能復制文本,于是趕緊復制出來看——文本正常,也就是說頁面上代碼,節(jié)點,數(shù)據(jù)都沒有問題,感覺就是數(shù)據(jù)拿到后壓根沒更新刷新dome樹,重新渲染的感覺(頁面不是自己對的接口,是后臺的同事對的,沒有用vue這種框架,我看了一下,有用到數(shù)據(jù)模板渲染的方式,類似于php這種的數(shù)據(jù)渲染方式,但是是c++語言,只能意會,不知真意)。
問題查驗到這里,我大概知道如何解決了——直接把類似于php+html這種混合開發(fā)轉換為用vue框架的方式就可以解決了——主要的原因就是數(shù)據(jù)沒有同頁面渲染想統(tǒng)一,vue的渲染模式就可以解決了
但是這肯定是一種暴力的解決方式——換言之,這個頁面內容少,轉換起來比較輕松,如果是一個復雜的頁面,估計后臺同事要滿娘的,我想用一種可以動態(tài)更新dome樹的原生的方式,可是找了很多,沒找到類似的,有沒有遇見過類似問題的前輩,請指點指點
補上代碼:
html
<div class="page">
<div class="section">
<div class="Sicon">
<img src="~/Content/images/icon.png" />
</div>
<p class="Sstate t_center">支付成功</p>
<p class="Sprice t_center">¥ @orderInfo.OrderPrice</p>
<p class="Sname t_center">@ViewBag.StoreName</p>
@if (rebateList != null && rebateList.Count > 0)
{
<div class="paySline">
<div class="flex f_relative f_center">
<span>本次消費獲得</span>
<hr />
</div>
</div>
<div class="redList flex f_around @(rebateList.Count==2?"arrow":"")">
@foreach (var item in rebateList)
{
if (item.Type == (int)UserRebateType.OrderRebate)
{
<div class="redItem">
<p class="name t_o t_center">獲得店鋪返利金</p>
<p class="price t_o t_center">@item.Amount 元</p>
</div>
}
else if (item.Type == (int)UserRebateType.WeekendRedPacket)
{
<div class="redItem">
<p class="name t_o t_center">獲得周末紅包</p>
<p class="price t_o t_center">@item.Amount 元</p>
</div>
}
else if (item.Type == (int)UserRebateType.HighRedPacket)
{
<div class="redItem">
<p class="name t_o t_center">獲得高消費紅包</p>
<p class="price t_o t_center">@item.Amount 元</p>
</div>
}
}
</div>
}
<div class="paybtn flex f_center">
<div class="SbtnLine flex f_center" onclick="closeWin()">完成</div>
</div>
</div>
</div>
//js
<script>
//微信關閉頁面方法
function closeWin() {
var ua = navigator.userAgent.toLowerCase();
if (ua.match(/MicroMessenger/i) == "micromessenger") {
WeixinJSBridge.call('closeWindow');
} else if (ua.indexOf("alipay") != -1) {
AlipayJSBridge.call('closeWebview');
}
}
</script>
頁面正常效果圖:
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學院和江蘇省首批服務外包人才培訓基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術與教育服務機構,發(fā)展為教育服務業(yè)的綜合性企業(yè)集團,成為集合面授教學培訓、網(wǎng)
達內教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。