最近在研究网页重定向功能,原因是以前游戏客户端地址写的是*****/a.html,现在在另一个服务器上重新放了一份,地址成了xxxxxx/b.html,即实现访问a返回b的需求。
研究了以下几种方法:
(1)
<html>
<head>
<meta http-equiv="REFRESH" content="0;url='http://xxxxxx/index.html'" />
</head>
</html>
访问a的时候直接刷新b的页面
(2)
写js <script type="text/javascript" window.location.href="http://xxxxxx/index.html">
(3)
设置http状态码301,重定向新地址
以上在浏览器里面还算正常,但是放到android手机webview里面发现问题了,重定向页面用手机自带浏览器打开,而不是webview。研究了一下发现是WebViewClient里面的
public boolean shouldOverrideUrlLoading(WebView webView, String url){
webView.loadUrl(url);
return true;
}
需要设置成上面的样子。
可是原来的客户端没有写过这句,不升级客户端看来是解决不了这问题了。可是升级客户端还不如直接换个请求地址岂不更好?而且加入重定向后点击back后退的时候还要再次判断,增加了复杂程度。