[英]load static pages in android webview
我想在 webview 中加載靜態網頁,以便我可以將其用作網站。 但是錨鏈接或重定向不起作用,當我單擊鏈接時,它不會加載到 web 視圖中,但它會被另一個 HTML 查看器應用程序打開,並顯示 404 錯誤。 所以,我只想讓每個 URL 都加載到 webview 中。
活動:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
public class MainActivity extends AppCompatActivity {
WebView wb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
wb = (WebView) findViewById(R.id.webview);
wb.getSettings().setJavaScriptEnabled(true);
wb.loadUrl("file:///android_asset/index.html");
}
}
索引.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" type="text/css" href="file:///android_asset/style.css"/>
<title></title>
</head>
<body>
<div class="container">
<div class="row">
<label for="username">USERNAME</label>
<input type="text" id="username" class="text-input"/>
</div>
<div class="row">
<label for="password">PASSWORD</label>
<input type="password" id="password" class="text-input"/>
</div>
<div class="row" id="error"></div>
<div class="row">
<button id="login" class="submit">LOGIN</button>
</div>
<a href="file:///android_asset/nearby.html">Next Page</a>
</div>
<script type="text/javascript" src="jquery-2.1.1.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var errors = 0;
$('#login').click(function(e){
if(validate() === 0){
if($('#username').val() === 'user' && $('#password').val() === 'pass'){
window.location.href = 'file:///android_asset/nearby.html';
} else{
$('#error').html('username or password is incorrect !').show();
}
}
});
function validate(){
checkInput($('#username'));
checkInput($('#password'));
console.log(errors);
return errors;
};
function checkInput(element){
if(element.val() === ''){
element.css('border','2px solid #ff0000');
errors++;
} else{
element.css('border','none');
if(errors > 0)
errors = errors - 1;
}
};
});
</script>
</body>
</html>
例如,當用戶輸入正確的用戶名和密碼值時,頁面應該被重定向到nearby.html
頁面,但正如我之前所說,請求的頁面將被另一個應用程序打開,並出現 404 錯誤。
您需要通過設置 WebView 的 WebClient 來指定您要自己處理點擊。 引自WebView 教程:
要打開用戶單擊的鏈接,只需使用 setWebViewClient() 為您的 WebView 提供一個 WebViewClient。 例如:
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new WebViewClient());
就是這樣。 現在,用戶點擊的所有鏈接都加載到您的 WebView 中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.