自动重定向到移动网站创建问题

时间:2013-03-29 03:23:53

标签: javascript jquery mobile

我用它来重定向到网页的移动版本(它不在子域中)

<script type="text/javascript">
<!--
if (screen.width <= 699) {
document.location = "http://www.site.com/mobile/";
}
//-->
</script>

<script language="javascript"> 
<!--
var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));
if (mobile) ||  (navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) {
  location.replace("http://www.site.com/mobile/");
}
//-->
</script>

但是当我从手机访问时,我收到错误,找不到服务器?

以下是移动版的标题

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0"/>
<link rel="apple-touch-icon" sizes="114x114" href="images/icontwo.png">
<link rel="apple-touch-startup-image" href="images/startup.png" />

导致这种情况的原因是什么?如果我直接进入它似乎有效......

1 个答案:

答案 0 :(得分:1)

为了安全起见,我会使用window.location.href,因为语义上document对象指的是DOM文档或页面上的HTML元素。此外,某些浏览器仅使用window.location.href

此外,您似乎使用了两个重定向:

document.location = "http://www.site.com/mobile/";

location.replace("http://www.site.com/mobile/");

可能会导致问题。 location.replace实际上也会破坏后退按钮功能,这可能会导致一些奇怪的效果,更不用说激动的用户了。

另外,请确保您没有使用https://

访问该网站