webview中的img標籤載入Android本地的圖片
在網上查了很多教程,感覺很麻煩,各種方法,最後最忌實踐很簡單,主要是兩步:
WebSettings webSettings=webView.getSettings();
//允許webview對檔案的操作
webSettings.setAllowUniversalAccessFromFileURLs(true);
webSettings.setAllowFileAccess(true);
webSettings.setAllowFileAccessFromFileURLs(true);
其次是路徑的設定
String path= "file://"+Environment.getExternalStorageDirectory()+ File.separator+"123.jpg";
一定是file:///開頭,注意是三個斜槓
下面是結果:
執行程式碼之前
執行程式碼之後
html程式碼
Android程式碼<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <title>Title</title> </head> <body> <img id="img" alt="上海鮮花港 - 鬱金香" style="width: 100%;height: 100%"/> <script> function aa(path){ alert(path); var img=document.getElementById("img"); img.src=path; } </script> </body> </html>
package com.example.a5.myapplication; import android.os.Environment; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.webkit.WebChromeClient; import android.webkit.WebSettings; import android.webkit.WebView; import java.io.File; public class MainActivity extends AppCompatActivity { private WebView webView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView= (WebView) findViewById(R.id.webView); WebSettings webSettings=webView.getSettings(); //允許webview對檔案的操作 webSettings.setAllowUniversalAccessFromFileURLs(true); webSettings.setAllowFileAccess(true); webSettings.setAllowFileAccessFromFileURLs(true); //用於js呼叫Android webSettings.setJavaScriptEnabled(true); //設定編碼方式 webSettings.setDefaultTextEncodingName("utf-8"); webView.setWebChromeClient(new chromClient()); //訪問Android assets資料夾內的 String url="file:///android_asset/test.html"; //訪問網頁Html // String url="http://192.168.1.121:8080/jsandroid/index.html"; runWebView(url); } private class chromClient extends WebChromeClient{ @Override public void onProgressChanged(WebView view, int newProgress) { if(newProgress==100){ //頁面載入完成執行的操作 String path= "file://"+Environment.getExternalStorageDirectory()+ File.separator+"123.jpg"; String action="javascript:aa('"+path+"')"; new AlertDialog.Builder(MainActivity.this) .setMessage(action) .show(); runWebView(action); } super.onProgressChanged(view, newProgress); } } private void runWebView(final String url){ runOnUiThread(new Runnable() { @Override public void run() { webView.loadUrl(url); } }); } }
相關推薦
webview中的img標籤載入Android本地的圖片
在網上查了很多教程,感覺很麻煩,各種方法,最後最忌實踐很簡單,主要是兩步: WebSettings webSettings=webView.getSettings(); //允許webview對檔案的操作 webSettings.setAl
關於html中img標籤圖片無法載入問題
html中img標籤中圖片地址只能為: 1. 絕對路徑 2. 相對路徑 3. URL(包括協議) 其中,當專案訪問外部專案image時必須為完整的url,如果出現im
[Android]Html.from()中ImageGetter非同步載入並顯示圖片和替換標籤處理效果
非同步載入圖片:先返回一個LevelListDrawable,之後載入圖片,獲取到Bitmap之後轉為Drawable,並設定到之前的LevelListDrawable中,更新level。這裡要注意,要重新設定一下Textview的text,不然圖片顯示不出來。 publ
js處理img標籤載入圖片失敗,顯示預設圖片
1.第一種方法: 如果已經引入了jquery外掛,就很好辦。沒有的話,如果實在需要,可以附上程式碼: script(type='text/javascript', src="http://ajax.googleapis.com/ajax/libs/jquery/1
ajax請求二進位制流圖片並渲染到html中img標籤
說明 後臺返回圖片二進位制流,需要使用get請求獲取返回結果,並且將返回的二進位制流以圖片形式顯示在頁面img中。 但是日常顯示圖片都諸如這種形式: <img src="圖片路徑、地址" alt="" /> 以上需求不能將後端地址直接
img標籤src引用網路圖片,頁面不顯示,返回403錯誤,網路圖片地址在瀏覽器能載入,放html卻不能顯示
在html頁面加入<meta name="referrer" content="no-referrer">標籤,就可以解決頁面載入網路圖片的問題,原因大概是網路安全的問題,別人的頁面做了安全防護的問題。<head> <meta chars
android中的ContentResolver獲取手機本地圖片
獲取手機的本地圖片就是使用ContentResolver類查詢本地的資料庫,只不過需要使用該類進行查詢,並且該類中提供了增刪改查的響應的方法。本篇博文並不對ContentResolver進行詳細的介紹,相比大家在書上面已經瞭解到了ContentResolver的
剖析Picasso載入壓縮本地圖片流程(解決Android 5.0部分機型無法載入本地圖片的問題)
public int read() throws IOException { if (!this.allowExpire && this.offset + 1L > this.limit) { this .setLimit(this.limit + (
IE瀏覽器中img標籤不顯示圖片
一、問題描述瀏覽器< img … /> 標籤不顯示圖片二、示例演示<!-- 程式碼部分 --> <html> <head> <meta charset="UTF-8"> <
分享工作中img標籤的一種用法
分享最近工作中載入圖片的一種方法: 如圖,背景圖片的url裡的路徑,先來解釋一下,data表示取得資料的協定名稱,image/png是資料型別名稱,base64是資料編碼方式,後邊的一堆是image/png檔案編碼後的資料.這是一種 Data URL scheme模式 目前Data U
Android 本地圖片快取
廢話 每次從記憶體裡面讀圖片,圖片小的話還好,圖片大的話比較吃力,速度慢不說,還容易因為記憶體問題出現崩潰。 後來加上了快取,從快取中讀取,結果發現,還是會爆炸,檢查一下發現,一張拍照3M多,直接把整個快取區都炸開了,既然找到問題了,也就好解決了。 所以就加上了個壓縮,邏輯是:1-
C#正則表示式提取HTML中IMG標籤的SRC地址
原文:http://blog.csdn.net/smeller/article/details/7108502 一般來說一個 HTML 文件有很多標籤,比如“<html>”、“<body>”、“<table>”等,想把文件中的 img 標籤提取出來並不
HTML中img標籤的src屬性絕對路徑問題解決辦法,完全解決!
需求:有時候自己的專案img的src路徑需要用到本地某資料夾下的圖片,而不是直接使用專案根目錄下的圖片。 場景:eclipse,tomcat,html,img,src,java 注意:不需要尋找tomcat真實路徑下的server.xml去修改,這個地方不需要修改。 解決辦法:1、在ec
webpack 處理html中img的src引入的圖片
webpack在管理模組,處理各種資源上都是無往不利,但唯獨在處理html上比較困難,不識別html中img標籤src引入的圖片。 html-webpack-plugin這種外掛輔助處理html非常好,但卻仍然未解決html程式碼中的圖片問題,未免美中不足。在遍尋開源模
Android本地圖片上傳(拍照+相簿)
執行效果圖: Android端程式碼MainActivity:public class MainActivity extends Activity implements OnClickListener, OnUploadProcessListener { private static
使用開源imageLoader優化listview載入大量本地圖片的demo
package com.example.listviewdemo; import java.util.ArrayList; import java.util.Collections; import java.util.LinkedList; import java.uti
關於image標籤無法獲取本地圖片
If you have stored images in a path outside of the web container or in a database, then the client cannot access the images directly by a
DOM與jQuery中img標籤中的src
今天,在做一個驗證碼的時候,出現了一個問題。 驗證碼:<input type="text" name="icode"><a href="javascript:voi
HTML中img標籤src路徑的值需要設定成一個變數來表示
在Java開發中,有時候會遇到在顯示圖片時不需要給圖片的src路徑設定成固定的,而是需要寫入從後臺資料庫傳入的路徑變數,下面給出瞭解決此問題的方法。<script> var pictureUrl = data.url;//後臺傳入的圖片路徑,url指的是資料
正則表示式提取HTML中IMG標籤的SRC地址
一般來說一個 HTML 文件有很多標籤,比如“<html>”、“<body>”、“<table>”等,想把文件中的 img 標籤提取出來並不是一件容易的事。由於 img 標籤樣式變化多端,使提取的時候用程式尋找並不容易。於是想要尋找它們就