HTTP-EQUIV="REFRESH" 无法在 android 网络视图上工作
HTTP-EQUIV="REFRESH" isn't working on android web view
我有一个带有基本形式的网页(如新闻通讯订阅)。
用户发送其信息并获得带有 link 的成功页面到表单提交页面。如果他没有点击 link 页面将在 5 秒后自动重定向。
<meta http-equiv="refresh" content="5;url=www.site.com" />
到目前为止一切顺利!它在桌面和移动浏览器中都按预期工作。
然后我创建了一个 android 应用程序(最小 API SDK 21),带有 Web 视图来加载网站。
问题是自动刷新在 Web 视图中不起作用...
我错过了什么吗?我正在努力避免 javascript 黑客...
感谢您的宝贵时间!
编辑
我注意到当我点击新的表单提交页面时 link 它会打开默认浏览器而不是在网络视图上呈现它!
在搜索问题后,我通过在 URL 加载时重置 URL 找到了解决方案。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
mWebView = findViewById(R.id.webview);
mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
mWebView.loadUrl(url);
return true;
}
});
mWebView.loadUrl(url);
}
它的工作,但我认为它可以改进。
我最初的问题是我没有设置 WebViewClient。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
mWebView = findViewById(R.id.webview);
mWebView.loadUrl(url);
}
因此,我想我只需要添加一个 WebViewClient 就可以了
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
mWebView = findViewById(R.id.webview);
mWebView.setWebViewClient(new WebViewClient());
mWebView.loadUrl(url);
}
注意,如果我们想要 javascript 工作,我们需要启用它
mWebView.getSettings().setJavaScriptEnabled(true);
我有一个带有基本形式的网页(如新闻通讯订阅)。
用户发送其信息并获得带有 link 的成功页面到表单提交页面。如果他没有点击 link 页面将在 5 秒后自动重定向。
<meta http-equiv="refresh" content="5;url=www.site.com" />
到目前为止一切顺利!它在桌面和移动浏览器中都按预期工作。
然后我创建了一个 android 应用程序(最小 API SDK 21),带有 Web 视图来加载网站。
问题是自动刷新在 Web 视图中不起作用...
我错过了什么吗?我正在努力避免 javascript 黑客...
感谢您的宝贵时间!
编辑
我注意到当我点击新的表单提交页面时 link 它会打开默认浏览器而不是在网络视图上呈现它!
在搜索问题后,我通过在 URL 加载时重置 URL 找到了解决方案。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
mWebView = findViewById(R.id.webview);
mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
mWebView.loadUrl(url);
return true;
}
});
mWebView.loadUrl(url);
}
它的工作,但我认为它可以改进。
我最初的问题是我没有设置 WebViewClient。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
mWebView = findViewById(R.id.webview);
mWebView.loadUrl(url);
}
因此,我想我只需要添加一个 WebViewClient 就可以了
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
mWebView = findViewById(R.id.webview);
mWebView.setWebViewClient(new WebViewClient());
mWebView.loadUrl(url);
}
注意,如果我们想要 javascript 工作,我们需要启用它
mWebView.getSettings().setJavaScriptEnabled(true);