【发布时间】:2014-11-24 02:32:03
【问题描述】:
如果用户的屏幕宽度小于 699,我想将用户重定向到我的移动网站。
我正在使用 document.location.href 来做到这一点。重定向工作正常,但问题是有时会在重定向发生之前加载桌面的 css。
[编辑]
似乎这是很自然的事情。进一步执行 html 代码,直到它实际被重定向。但就我而言,我不希望它发生。那么如何阻止我的 html 加载图像和 javascripts 等,以防它必须重定向?
对于 CSS,我认为正如 cmets 中所说,媒体可以完成这项工作。
我有以下 HTML 代码:
<html>
<head>
<script>
if(screen.width<699)
{
document.location.href="http://m.example.com";
}
</script>
<link rel="stylesheet" type="text/css" href="/css/6e0a22.css?v1.3a" />
</head>
<body>
HELLO WORLD
</body>
</html>
【问题讨论】:
-
如果样式表被缓存,浏览器将在重新加载页面的 HTTP 请求完成之前访问它。
-
你不能假设 Javascript 重定向会停止执行页面上的所有内容——据我所知,确切的行为是未定义的。一种解决方案是添加一个
else子句,并且只将样式表注入到其中的文档中......? -
您可以在样式标签上使用媒体查询来阻止它加载:
<link rel="stylesheet" media="(min-width: 700px)" -
我同意 LcSalazar 的观点,即@media 是要走的路。但是,如果您不想这样做,另一个不太理想的选择是在文档准备好/页面加载后重定向。
-
=( 抱歉,我试过了。如果我有更多想法,我会告诉你。
标签: javascript html css url-redirection