直播帶貨小程式原始碼中,商品詳情頁是如何獲取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
- 獲取1688商品詳情API:步驟與程式碼示例API
- 成品直播原始碼,JAVA獲取圖片的寬、高和大小原始碼Java
- 直播軟體原始碼,Vue獲取URL圖片的寬高原始碼Vue
- 直播帶貨小程式原始碼是什麼?如何鑑別其質量好壞?原始碼
- 如何使用商品詳情API介面來獲取想要的商品資料?API
- 服務端使用 nodejs 獲取帶參微信小程式碼圖片服務端NodeJS微信小程式
- 使用商品詳情API介面獲取商品資料API
- 直播原始碼搭建教程之獲取相簿中的指定一個圖片後上傳原始碼
- 直播帶貨原始碼,背景圖片顯示鋪滿但不變形原始碼
- 直播帶貨原始碼,商品頁面跳轉顯示白底, 新增漸變動畫原始碼動畫
- Java語言獲取小紅書商品詳情 API介面(商品ID、商品標題等)JavaAPI
- 如何使用商品詳情API介面獲取商品資料:一篇詳盡的論述API
- 直播小程式原始碼,小程式頁面左右滑動如何解決原始碼
- 教您如何使用API介面獲取拼多多商品詳情API
- 一步教會你如何獲取1688商品詳情
- HTML5獲取圖片的原始高度簡單介紹HTML
- 使用API介面獲取拼多多商品詳情API
- 直播小程式原始碼,Swift 獲取漸變色顏色值原始碼Swift
- 1688商品詳情介面技術揭秘:輕鬆獲取商品資訊,附Python實戰程式碼!Python
- 直播帶貨app原始碼是如何應對市場挑戰的(附原始碼功能)APP原始碼
- 小程式獲取帶有分享者資訊的小程式碼
- Java後臺Html轉圖片和獲取頁面屬性值,及圖片拼接JavaHTML
- 用Java使用API介面獲取Lazada商品詳情JavaAPI
- C#獲取HTML原始碼C#HTML原始碼
- 阿里巴巴國際站API詳情介面獲取商品詳情介面阿里API
- 兩步快速獲取小程式原始碼原始碼
- JD 商品詳情頁解析
- 獲取淘寶商品詳情api、介面獲取寶貝詳情、產品詳細屬性示例說明API
- lazada 商品詳情介面,支援多站點採集(item_get - 獲得 lazada 商品詳情)程式碼展示
- app直播原始碼,下拉檢視圖文詳情效果APP原始碼
- 直播帶貨商城功能詳解布穀直播APP原始碼新增功能APP原始碼
- 獲取拼多多商品詳情api、介面獲取寶貝詳情、產品詳細屬性Java示例說明APIJava