直播帶貨小程式原始碼中,商品詳情頁是如何獲取html圖片的
在搭建直播帶貨小程式原始碼過程中,需要為商品構建詳情頁,而商品頁中的圖片是要透過html獲取並展示到本地的,那麼這個過程是如何實現的?接下來小編將透過程式碼演示一下:
1、配置webView
mWebView = findViewById(R.id.web); mWebView.setOverScrollMode(View.OVER_SCROLL_NEVER); WebSettings webSettings = mWebView.getSettings(); webSettings.setJavaScriptEnabled(true);//設定能夠解析Javascript webSettings.setDomStorageEnabled(true);//設定適應Html5的一些方法
2、新增點選事件監聽和android與html互動介面:
mWebView.addJavascriptInterface(mOpenImageJavaInterface, "imagelistener"); mWebView.setWebChromeClient(new WebChromeClient(){ @Override public void onProgressChanged(WebView view, int newProgress) { super.onProgressChanged(view, newProgress); Log.d("===","newProgress=="+newProgress); if(newProgress==100){ addImageClickListener(view); } } private void addImageClickListener(WebView webView) { webView.loadUrl("javascript:(function(){" + "var objs = document.getElementsByTagName(\"img\"); " + "for(var i=0;i<objs.length;i++) " + "{" +" var temp=i; " + " objs[i].onclick=function() " + " { " + " window.imagelistener.openImage(this.src); " +//透過js程式碼找到標籤為img的程式碼塊,設定點選的監聽方法與本地的openImage 方法進行連線 " } " + "}" + "})()"); } });
3、本地利用正則解析html中的圖片集合:
} /*返回html圖片集合*/public static List<String> returnImageUrlsFromHtml(String htmlCode) { List<String> imageSrcList = new ArrayList<String>(); if(TextUtils.isEmpty(htmlCode)) { return imageSrcList; } Pattern p = Pattern.compile ("<img\\b[^>]*\\bsrc\\b\\s*=\\s*('|\")?([^'\"\n\r\f>]+(\\.jpg|\\.bmp|\\.eps|\\.gif|\\.mif|\\.miff|\\.png |\\.tif|\\.tiff|\\.svg|\\.wmf|\\.jpe|\\.jpeg|\\.dib|\\.ico|\\.tga|\\.cut|\\.pic|\\b)\\b)[^>]*>", Pattern.CASE_INSENSITIVE); Matcher m = p.matcher(htmlCode); String quote = null; String src = null; while (m.find()) { quote = m.group(1); src = (quote == null || quote.trim().length() == 0) ? m.group(2).split("//s+")[0] : m.group(2); imageSrcList.add(src); } if (imageSrcList == null || imageSrcList.size() == 0) { Log.e("imageSrcList","資訊中未匹配到圖片連結"); return null; } return imageSrcList; }
4、實現本地對應html的點選方法,並跳轉畫廊展示圖片:
@android.webkit.JavascriptInterfacepublic void openImage(String src) { if(!ClickUtil.canClick()||!ListUtil.haveData(mOpenImageJavaInterface.imageUrls)) { return; } int index=ListUtil.index(mOpenImageJavaInterface.imageUrls,src); if(index==-1) { index=0; } showGalleryDialog(index); }
5、WebView載入url,並調整WebView中圖片的大小:
if(mWebView!=null) { html = html.replace("<img", "<img style=\"display: ;max-width:100%;\""); mWebView.loadDataWithBaseURL("about:blank", html, mimeType, encoding, "" ); }
以上就是搭建直播帶貨小程式中,商品詳情頁是如何獲取html圖片並在本地展示的過程。
宣告:以上內容為作者本人原創,未經作者本人同意,禁止轉載,否則將追究相關法律責任。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69968464/viewspace-2708073/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 帶貨直播系統原始碼中,商品詳情頁是如何搭建起來的原始碼
- 直播賣貨系統原始碼中,如何展示html格式的商品詳情原始碼HTML
- 直播賣貨小程式原始碼中,商品分類頁面是如何實現的原始碼
- 直播帶貨app原始碼,獲取直播影片的第一幀APP原始碼
- 瞭解直播帶貨系統原始碼,透過html5程式碼獲取位置資訊原始碼HTML
- app直播原始碼,Vue獲取URL圖片的寬高APP原始碼Vue
- 直播帶貨小程式原始碼是什麼?如何鑑別其質量好壞?原始碼
- 如何使用商品詳情API介面來獲取想要的商品資料?API
- 成品直播原始碼,JAVA獲取圖片的寬、高和大小原始碼Java
- 直播軟體原始碼,Vue獲取URL圖片的寬高原始碼Vue
- 獲取1688商品詳情API:步驟與程式碼示例API
- 直播帶貨原始碼,商品頁面跳轉顯示白底, 新增漸變動畫原始碼動畫
- 使用商品詳情API介面獲取商品資料API
- 服務端使用 nodejs 獲取帶參微信小程式碼圖片服務端NodeJS微信小程式
- 直播帶貨原始碼,背景圖片顯示鋪滿但不變形原始碼
- 獲取img圖片原始尺寸程式碼例項
- 直播原始碼搭建教程之獲取相簿中的指定一個圖片後上傳原始碼
- 教您如何使用API介面獲取拼多多商品詳情API
- 如何使用商品詳情API介面獲取商品資料:一篇詳盡的論述API
- 直播小程式原始碼,小程式頁面左右滑動如何解決原始碼
- 直播帶貨app原始碼是如何應對市場挑戰的(附原始碼功能)APP原始碼
- 使用API介面獲取拼多多商品詳情API
- 直播小程式原始碼,Swift 獲取漸變色顏色值原始碼Swift
- 獲取淘寶商品詳情api、介面獲取寶貝詳情、產品詳細屬性示例說明API
- 小程式獲取帶有分享者資訊的小程式碼
- 用PHP使用API介面獲取蝦皮商品詳情PHPAPI
- HTML5獲取圖片的原始高度簡單介紹HTML
- 直播帶貨商城功能詳解布穀直播APP原始碼新增功能APP原始碼
- Java語言獲取小紅書商品詳情 API介面(商品ID、商品標題等)JavaAPI
- 直播帶貨軟體開發過程中,如何實現圖片上傳
- 獲取拼多多商品詳情api、介面獲取寶貝詳情、產品詳細屬性Java示例說明APIJava
- app直播原始碼,下拉檢視圖文詳情效果APP原始碼
- 電商平臺的商品詳情頁如何排版?輕鬆搞定詳情頁的排版設計!
- 關於直播帶貨過程中的卡頓問題,帶貨直播原始碼有話說!原始碼
- 淘寶/天貓獲得淘寶商品詳情 API 如何實現實時資料獲取?API
- 教你如何儲存抖音店鋪的商品圖片,自動儲存主圖、詳情圖
- 實時獲取化工網商品詳情API資料API
- 用Java使用API介面獲取Lazada商品詳情JavaAPI