移動端開發(fā)人員調(diào)試H5

起因:對企業(yè)內(nèi)部應(yīng)用進(jìn)行架構(gòu)重新設(shè)計與重構(gòu)

位置:舊項目中HR助手的H5功能對接上線 網(wǎng)頁中ajax請求未做任何異常處理,移動端點擊goback未響應(yīng)事件

錯誤異常:舊的h5開發(fā)人員由于不規(guī)范書寫代碼,在網(wǎng)頁的onLoad中直接創(chuàng)建并且向服務(wù)器存儲了表單,依賴webview的onUnLoad方法去校驗表單是否有效。UIWebView 升級 WKWebView 導(dǎo)致網(wǎng)頁中onUnLoad 方法失效。

導(dǎo)致:h5表單不斷的創(chuàng)建,沒有校驗,數(shù)據(jù)未刪除。

處理方案一:換回UIWebView(負(fù)責(zé)人的開發(fā)人員都不會這么處理)

處理方案二:h5頁面修改表單處理邏輯(涉及到線上的一些功能,未采用)一勞永逸最優(yōu)方案

處理方案三:WKWebView調(diào)用webview的goBack前先調(diào)用以下代碼

if ([self.webView canGoBack]) {
   // 對工作流應(yīng)用 onUnload 特殊處理 勿刪除
    if ([[self.webView.URL absoluteString] hasPrefix:@"http://bpm.enn.cn"]) {
        [self.webView evaluateJavaScript:@"AWSFormMainUtil.onUnloadEvent()" completionHandler:^(NSString *message, NSError * _Nullable error) {
            ICLog(@"js回調(diào)信息 error : %@", error);
        }];
    }

    [self.webView goBack];
} else {
    [self.navigationController popViewControllerAnimated:YES];
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容