gpt4 book ai didi

android - 在android webview中加载静态页面

转载 作者:行者123 更新时间:2023-11-30 00:40:06 25 4
gpt4 key购买 nike

我想在 webview 中加载一个静态网页,这样我就可以将它用于一个网站。但是 anchor 链接或重定向不起作用,当我单击一个链接时,它不会加载到 web View 中,但它会被另一个 HTML 查看器应用程序打开并出现 404 错误。所以,我只想让每个 URL 都加载到 webview 中。

Activity :

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");
}
}

index.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 tutorial :

To open links clicked by the user, simply provide a WebViewClient for your WebView, using setWebViewClient(). For example:

  WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebViewClient(new WebViewClient());

That's it. Now all links the user clicks load in your WebView.

关于android - 在android webview中加载静态页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42679986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com