1. 程式人生 > >webview長按獲取圖片url地址

webview長按獲取圖片url地址

轉載自:  http://stackoverflow.com/questions/18239666/uiwebview-getting-image-url-with-elementfrompoint

-(void)longPressRecognized:(UILongPressGestureRecognizer*)gestureRecognizer {if(gestureRecognizer.state ==UIGestureRecognizerStateBegan){CGPoint point =[gestureRecognizer locationInView:webView];
    longpressTouchedPoint 
= point;// convert point from view to HTML coordinate systemCGSize viewSize =[webView frame].size;CGSize windowSize =[webView windowSize];CGFloat f = windowSize.width / viewSize.width;if([[[UIDevice currentDevice] systemVersion] doubleValue]>=5.){ point.x = point.x * f; point.y = point
.y * f;}else{// On iOS 4 and previous, document.elementFromPoint is not taking// offset into account, we have to handle itCGPoint offset =[webView scrollOffset]; point.x = point.x * f + offset.x; point.y = point.y * f + offset.y;}// Load the JavaScript code from the Resources and inject it into the web page
NSString*path =[[NSBundle mainBundle] pathForResource:@"JSTools" ofType:@"js"];NSString*jsCode =[NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];[webView stringByEvaluatingJavaScriptFromString: jsCode];// call js functionsNSString*tags =[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"getHTMLElementsAtPoint(%i,%i);",(NSInteger)point.x,(NSInteger)point.y]];NSString*tagsSRC =[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"getLinkSRCAtPoint(%i,%i);",(NSInteger)point.x,(NSInteger)point.y]];NSLog(@"src : %@",tags);NSLog(@"src : %@",tagsSRC);NSString*url = nil;if([tags rangeOfString:@",IMG,"].location !=NSNotFound){ url = tagsSRC;// Here is the image url!}

function getHTMLElementsAtPoint(x,y){
var tags ="";
var e;
var offset =0;while((tags.search(",(A|IMG),")<0)&&(offset <20)){
    tags =",";
    e = document.elementFromPoint(x,y+offset);while(e){if(e.tagName){
            tags += e.tagName +',';}
        e = e.parentNode;}if(tags.search(",(A|IMG),")<0){
        e = document.elementFromPoint(x,y-offset);while(e){if(e.tagName){
                tags += e.tagName +',';}
            e = e.parentNode;}}

    offset++;}return tags;}

function getLinkSRCAtPoint(x,y){
var tags ="";
var e ="";
var offset =0;while((tags.length ==0)&&(offset <20)){
    e = document.elementFromPoint(x,y+offset);while(e){if(e.src){
            tags += e.src;break;}
        e = e.parentNode;}if(tags.length ==0){
        e = document.elementFromPoint(x,y-offset);while(e){if(e.src){
                tags += e.src;break;}
            e = e.parentNode;}}
    offset++;}return tags;}

相關推薦

webview獲取圖片url地址

轉載自:  http://stackoverflow.com/questions/18239666/uiwebview-getting-image-url-with-elementfrompoint -(void)longPressRecognized:(UILongPr

Android使用webView儲存下載網路圖片

最近發現在webView的setOnLongClickListener中可以獲取到WebView.HitTestResult,根據獲取的HitTestResult的Type來判斷做不同的處理。通過判斷Type的型別獲取點選圖片的url,然後把圖片下載到本地,傳送廣播通知系統

js獲取當前url地址參數中文亂碼問題

length 地址 網上 當前頁 數組 獲得 clas decode log 網上看了一些關於此問題的文章,都說的不清不楚,有些更是亂七八糟,完全沒法看,故此找了一篇能用的,借鑒作為筆記。 //首先獲取到當前頁面的地址欄信息 var url = window.locati

Android Studio 第七十六期 - Android webview識別二維碼

ont hub oid 技術分享 qrc p s code android 二維碼 代碼已經整理好,效果如下圖: 地址:https://github.com/geeklx/myapplication2018/tree/master/p019_shibi

獲取請求URL地址

引入的包: import javax.servlet.http.HttpServletRequest; 因為返回值是StringBuffer型別,可以使用轉換成字串型別: public String static getURL(HttpServletRequest 

華為手機WebView不能複製,記一次少見奇葩bug解決之旅

風起 接到反饋,說是之前一個老專案的詳情頁(html)長按不能複製了(華為mate9),uh…不記得需求裡有長按複製功能,不過現在原生webview是支援長按複製的,所以就是個預設需求了,那這個bug是要改的。 拿手邊的華為和小米試了一下,的確不能複製,然後到模擬器上跑了下,uh…長

【GT-安卓應用開發之儲存圖片

前言:微信預覽圖片,長按會出現一個彈出框,其中會有一個“儲存圖片”。今天正好做了一個類似的小功能,特意寫了一個小demo來記錄一下。         首先,介紹一下該demo:主介面有一個ImageView顯示本人的微信二維碼,要實現的功能是長按二維碼彈出提示框,告知使用者

js獲取頁面URL地址,判斷URL是否包含具體值

window.location.pathname //設定或獲取物件指定的檔名或路徑 window.location.href //設定或獲取整個 URL 為字串 window.location.origin // 獲取當前頁面的域名 window.location.port //設定或獲取與

H5頁面儲存圖片的功能

1.使用CSS屬性 -webkit-touch-callout:default; 可以編輯使改元素長按可儲存,但是注意著只是寫入了 草案的一個屬性。但是在實際使用中並沒有發現問題 2. 在需要對元素垂直居中的時候可以使用 position:absolute; top:

webview點選實現彈出選單欄

最近有一個需求,當長按點選webview,彈出選單欄,這是系統預設的有複製,全選,搜尋等功能,而不能滿足公司需求,同時公司需要將分享和搜尋功能去掉,新增自己的選單: 新增自己的功能,自定義webview,複寫下邊兩個方法: @Override public ActionMo

input type='file' 獲取圖片Base64地址

$("#圖片標籤").change(function(){ var file = this.files[0]; if (window.FileReader) { var reader = new FileReader

Java web獲取根據url地址訪問相應的方法

@Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String mn = req.

iOS 實現點選圖片放大&儲存圖片

一:簡介 在專案中免不了會遇到,實名認證上傳身份證、繫結銀行卡等功能。在實際操作中呢,會涉及到上傳圖片,在頁面佈局時,可能圖片不是一張,考慮到佈局的美觀等因素,顯示圖片的位置變得很小,如果想檢視上傳的圖片是否清晰,內容是否完整,可能就需要放大才能實現,下面就和大家分享一下我封裝的一類,完美的

小程式實現選擇圖片預覽圖片刪除圖片

最近在做一個小程式的專案,初次接觸,也是邊學邊做,目前遇到圖片處理的相關問題,在此記錄,也對有需要的朋友提供一些幫助。 類似於微信朋友圈釋出圖片,長按指定圖片刪除 長按圖片刪除,不足9張可以繼續新增 圖片預覽效果 實現思路: 調整頁面,

UIWebView儲存圖片

現在H5混合原生開發的方式越來越流行,也就要用到UIWenview控制元件。在開發過程中,我們可能會遇到一個需求,要求我們儲存網頁上的圖片,當用戶點選圖片的時候,就可以讓使用者選擇是否下載圖片。 在系統自帶的Safari瀏覽器已經實現了該功能,但是iOS開發中我們如果呼

webview 選擇複製

1.首先在h5中加入 <head><style>.unselectable { -moz-user-select: none;

獲取瀏覽器url地址請求引數--requestParam.js

獲取瀏覽器url地址請求引數–requestParam.js var url=location.search; var Request = new Object(); if(url.indexOf

iOS實現點選圖片放大&儲存圖片

一:簡介 在專案中免不了會遇到,實名認證上傳身份證、繫結銀行卡等功能。在實際操作中呢,會涉及到上傳圖片,在頁面佈局時,可能圖片不是一張,考慮到佈局的美觀等因素,顯示圖片的位置變得很小,如果想檢視上傳的圖片是否清晰,內容是否完整,可能就需要放大才能實現,下面就和

通過正則表示式獲取標準url地址的域名和檔案字尾名

形如“http://www.abcdef.com/index.php”或“http://www.abcdef.com/index.php?g=Index&m=Index&a=index”的地址即為標準的url地址,現在我們要通過正則式來獲取它的域名“abcd

android WebView 自由複製文字,進入文字選擇模式

長按WebView系統預設進入文字選擇預設,但如果想實現先長按選單顯示選單同能選單選項來判斷是否進行的進入自由複製文字文字選擇的操作就不知道該怎麼辦了。 長按WebView顯示彈出選單,可怎麼才在能實現點選選單選擇進入自由複製文字模式呢?在網上翻了個遍,都不怎麼如意,糾