1. 為什麼 WebView 載入 html 代碼會顯示 \n

為什麼 WebView 載入 HTML 代碼會顯示 \n
1. 在IE 6中,選擇工具>Internet選項,在彈出的Internet選項對話框中選擇高級選項卡,將禁用腳本調試(Internet Explorer)和禁用腳本調試(其它)兩個選項的勾都去掉,即確保沒有選中它們。然後重新啟動IE。

2. 在你希望的地方設置斷點,按F5鍵直接啟動調試。當程序運行到斷點處時,自動停在斷點處。

注意此種方法只能調試外部的腳本文件,對於內置在頁面文件的腳本,可以在想中斷的腳本處添加debugger;語句即可,如下圖所示。

2. android 開發webview如何載入html

1.String customHtml = "<html><body><font color='red'>hello !</font></body></html>";

首先寫了一個html代碼段,用來顯示一段紅色的字體;

2.webview.loadData(customHtml, "text/html", "UTF-8"); 載入定義的代碼,並設定回編碼格式和字元集;

3.運行答效果;如圖:

3. webview載入assets中的html內容顯示不出來,為啥

語法寫正確沒,比如
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

webView = (WebView) findViewById(R.id.webView);

webView.loadUrl("file///android_asset/index.html");
}

webView.loadUrl("file:///android_asset/index.html");
少了個冒號也顯示不出來,這是我親身體會過的

要是語法正確,那就看看自己的代碼寫對沒

4. Android開發中能不能用webview直接載入html文本

  1. //載入本項目內asset目錄下的文件wView.loadUrl("file:///android_asset/index.html");

  2. //載入本地指定地址的文件(如sd卡內的index.html文件)

    wView.loadUrl("content://com.android.htmlfileprovider/sdcard/index.html");

3.//載入指定遠程網頁地址文件wView.loadUrl("http://***********");

WebView 提供 loadData(String data, String mimeType, String encoding) : 方法,該方法可以用於載入並顯示HRML代碼,實際應用過程中 存在一個問題,,當他載入包含中文的HTML內容時,WebView將會顯示亂碼.
幸好WebView還提供了一個 loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl) : 方法,該方法是loadData()方法的增強版,它不會產生亂碼.
loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl) : 幾個參數的簡單說明.

  • data : 指定需要載入的HTML 代碼.

  • mimeType :指定HTML 代碼的 MIME類型.對於HTML代碼可指定為text/html .

  • encoding :指定HTML 代碼的代碼編碼所用的字元集.比如指定 UTF-8.

5. android 開發webview如何載入p標簽的html

本人弄的個類似實例以供參考:

import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.AdapterView.OnItemSelectedListener;

@("SetjavaScriptEnabled")
public class Onlinedic extends Activity {
private TextView result;
private EditText editText;
private WebView webView;
private String[] url = {"file:///android_asset/cn2en.html","file:///android_asset/en2cn.html",
"file:///android_asset/ge2cn.html","file:///android_asset/cn2ge.html",
"file:///android_asset/en2ge.html","file:///android_asset/ge2en.html"};
private String[] chooseStr={"英","中","德","中","德","英"};
private Handler tHandler = new Handler();

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.onlinedic);

webView=(WebView)findViewById(R.id.toutput);
final Button submit=(Button)findViewById(R.id.submit);
editText=(EditText)findViewById(R.id.tinput);
result=(TextView)findViewById(R.id.result);
final Spinner l_select=(Spinner)findViewById(R.id.l_select);

ArrayAdapter adapter=new ArrayAdapter(this,
android.R.layout.simple_spinner_item,chooseStr);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
l_select.setPrompt("請選擇翻譯的方式");
l_select.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView arg0, View arg1,
int arg2, long arg3) {
if(((TextView)arg1).getText()==chooseStr[0])
webView.loadUrl(url[0]);
if(((TextView)arg1).getText()==chooseStr[1])
webView.loadUrl(url[1]);
if(((TextView)arg1).getText()==chooseStr[2])
webView.loadUrl(url[2]);
if(((TextView)arg1).getText()==chooseStr[3])
webView.loadUrl(url[3]);
if(((TextView)arg1).getText()==chooseStr[4])
webView.loadUrl(url[4]);
if(((TextView)arg1).getText()==chooseStr[5])
webView.loadUrl(url[5]);
}

@Override
public void onNothingSelected(AdapterView arg0) {
webView.loadUrl(url[0]);
}
});
l_select.setAdapter(adapter);

WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webSettings.setSaveFormData(false);
webSettings.setSavePassword(false);
webSettings.setSupportZoom(false);

submit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
result.setVisibility(TextView.VISIBLE);
webView.setVisibility(WebView.VISIBLE);
tHandler.post(new Runnable(){
public void run(){
if (editText.getText().toString() != ""){
webView.loadUrl("javascript:translate('"+
editText.getText().toString() + "')");
}
}
});
}
});
}

6. WebView載入HTML,怎麼載入到指定位置

UIWebView 是用來載入載入網頁數據的一個框。UIWebView可以用來載入pdf word doc 等等文件

生成webview 有兩種方法,1、通過storyboard 拖拽 2、通過alloc init 來初始化

創建webview,下列文本中 _webView.dataDetectorTypes = UIDataDetectorTypeAll; 是識別webview中的類型,例如 當webview中有電話號碼,點擊號碼就能直接打電話

載入html

// HTML是網頁的設計語言
// <>表示標記</>
// 應用場景:截取網頁中的某一部分顯示
// 例如:網頁的完整內容中包含廣告!載入完成頁面之後,把廣告部分的HTML刪除,然後再載入
// 被很多新聞類的應用程序使用
[self.webView loadHTMLString:@"<p>Hello</p>" baseURL:nil];

7. 怎麼用WebView載入本地html

WebView提供的loadData(String data , String mimeType , String encoding)方法,該方法可用於載入並顯示HTML代碼,但在實際使用過程中,當它載入包含中文HTML內容時,WebView將會顯示亂碼。
WebView還提供了一個loadDataWithBaseURL(String baseUrl , String data , String mimeType , String encoding , String historyUrl)方法,該方法是loadData(String data , String mimeType , String encoding)方法的增強版,它不會產生亂碼。
1、data:指定需要載入的HTML代碼。
2、mimeType:指定HTML代碼的MIME類型,對於HTML代碼可指定為text/html。
3、encoding:指定HTML代碼編碼所用的字元集。比如指定為GBK。
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.webkit.WebView;
public class ViewHtml extends Activity {
WebView show;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_view_html);
//獲取程序中的WebView組件
show = (WebView) findViewById(R.id.show);
StringBuilder sb = new StringBuilder();
//拼接一段HTML代碼
sb.append("<html>");
sb.append("<head>");
sb.append("<title>歡迎你</title>");
sb.append("</head>");
sb.append("<body>");
sb.append("<h2>111</h2>");
sb.append("</body>");
sb.append("</html>");
//使用簡單的loadData方法會導致亂碼,可能是Android API的Bug
//show.loadData(sb.toString(), "text/html", "utf-8");
//載入、並顯示HTML代碼
show.loadDataWithBaseURL(null,sb.toString(), "text/html", "utf-8", null);
}
}

8. 安卓如何使用WebView組件載入HTML代碼

1)修改新建項目的resIayout目錄下的布局文件main.xml,將默認添加的TextView組件刪除,然後添加一個WebView組件

2)在MainActivity的onCreate()方法中,首先獲取布局管理器中添加的Web View組件,然後創建一個字元串構建器,將要顯示的HTML代碼放置在該構建器中,最後應用IoadDataWithBaseURLO方法載入構建器中的HTML代碼

android客戶端常會調用到html頁面,給webview頁面適配android凌亂的設備帶來很大的困難。

可以找到的方法是通過ZoomDensity.setDefaultZoom根據解析度480寬度為基準縮放。

不過ZoomDensity.setDefaultZoom在2.0以下的平台是無法調用的,需要自己反射調用。

即使是ZoomDensity.setDefaultZoom設置了縮放,但還是會在很多設備無效。經過摸索還需做一些修改:

1,頁面head添加

<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />


2,設置字體也按480基準縮放。

下面是代碼:

Java代碼

privatevoidsetZoom(WebSettingswebSettings){intscreenDensity=getResources().getDisplayMetrics().densityDpi;Stringzd="FAR";switch(screenDensity){caseDisplayMetrics.DENSITY_LOW:zd="CLOSE";break;caseDisplayMetrics.DENSITY_MEDIUM:zd="MEDIUM";break;}Class<?>zoomDensityClass=null;Enum<?>zoomDensity=null;try{if(zoomDensityClass==null){zoomDensityClass=Class.forName("android.webkit.WebSettings$ZoomDensity");}if(zoomDensity==null){zoomDensity=(Enum<?>)Enum.valueOf((Class)zoomDensityClass,zd);}Methodmethod=WebSettings.class.getDeclaredMethod("setDefaultZoom",newClass<?>[]{zoomDensityClass});if(method!=null){method.invoke(webSettings,zoomDensity);}method=WebSettings.class.getDeclaredMethod("setTextZoom",newClass<?>[]{int.class});if(method!=null){method.invoke(webSettings,100*getWindowManager().getDefaultDisplay().getWidth()/480);}}catch(Exceptione){Log.e(TAG,e.getMessage());return;}}




Android的webview載入本地html、本apk內html和遠程URL

Android的webview載入本地html、本apk內html和遠程URL

android客戶端常會調用到html頁面,給webview頁面適配android凌亂的設備帶來很大的困難。

可以找到的方法是通過ZoomDensity.setDefaultZoom根據解析度480寬度為基準縮放。

不過ZoomDensity.setDefaultZoom在2.0以下的平台是無法調用的,需要自己反射調用。

即使是ZoomDensity.setDefaultZoom設置了縮放,但還是會在很多設備無效。經過摸索還需做一些修改:

1,頁面head添加

<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />


2,設置字體也按480基準縮放。

下面是代碼:

Java代碼

privatevoidsetZoom(WebSettingswebSettings){intscreenDensity=getResources().getDisplayMetrics().densityDpi;Stringzd="FAR";switch(screenDensity){caseDisplayMetrics.DENSITY_LOW:zd="CLOSE";break;caseDisplayMetrics.DENSITY_MEDIUM:zd="MEDIUM";break;}Class<?>zoomDensityClass=null;Enum<?>zoomDensity=null;try{if(zoomDensityClass==null){zoomDensityClass=Class.forName("android.webkit.WebSettings$ZoomDensity");}if(zoomDensity==null){zoomDensity=(Enum<?>)Enum.valueOf((Class)zoomDensityClass,zd);}Methodmethod=WebSettings.class.getDeclaredMethod("setDefaultZoom",newClass<?>[]{zoomDensityClass});if(method!=null){method.invoke(webSettings,zoomDensity);}method=WebSettings.class.getDeclaredMethod("setTextZoom",newClass<?>[]{int.class});if(method!=null){method.invoke(webSettings,100*getWindowManager().getDefaultDisplay().getWidth()/480);}}catch(Exceptione){Log.e(TAG,e.getMessage());return;}}

9. android中webview載入html,用本地的css渲染頁面如何做

android中webview載入html用本地css渲染的做法:
1:將資源拷貝到assets目錄
2:給需要注入的資源文件在url上做一個標志,當然,你也可以不做,只要你在安卓端可以判斷出來即可。
<link rel="stylesheet" href="[inject]public/css/bootstrap.min.css" type="text/css" media="screen" title="no title" charset="utf-8">
<link rel="stylesheet" href="[inject]public/css/bootstrap-theme.min.css" type="text/css" media="screen" title="no title" charset="utf-8">
<script type="text/javascript" src="[inject]public/js/zipto/1.1.6/zepto.min.js"></script>
<script type="text/javascript" src="[inject]public/js/moles/md5.min.js"></script>
3:攔截將要注入的文件,讀取本地文件即可。

webview.setWebViewClient(new WebViewClient() {
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
//System.out.println("WebResourceResponse::"+url);
if(url.contains("[inject]")){
String localPath = url.replaceFirst("^http.*inject\\]","");
System.out.println("LocalPath::"+localPath);
try {
InputStream is = getApplicationContext().getAssets().open(localPath);
return new WebResourceResponse("text/javascript", "UTF-8", is);
} catch (Exception e) {
e.printStackTrace();
return super.shouldInterceptRequest(view, url);
}
} else {
return super.shouldInterceptRequest(view, url);
}
}
});