基于屏幕宽度的 URL 重定向

Dav*_*ins 5 javascript url mobile redirect

我正在寻找的很简单,一种在屏幕或窗口宽度小于 950 像素时自动将用户重定向到不同 URL 的方法。

我不想使用“刷新”,因为它不被推荐,我也不想使用“用户代理”,因为从长远来看它对我来说不太可靠,我不想担心更新这个。

这是我看到为此目的到处建议的脚本,但由于某种原因它没有做任何事情:

<script type="text/javascript">
  <!--
  if (screen.width <= 950) {
    window.location = "https://www.google.com/";
  }
  //-->
</script>
Run Code Online (Sandbox Code Playgroud)

我也尝试过所有这些变体,但没有成功:

window.location
document.location
window.location.href
document.location.href
Run Code Online (Sandbox Code Playgroud)

我还尝试将它作为 Head 标签之后甚至 Doctype 之前的第一件事。没发生什么事...

Dav*_*ins 8

我正在回答我自己的问题,因为我最近找到了一个比 @Finduilas 提供的解决方案更令人满意的解决方案。

此解决方案不仅会在正常情况下重定向您,还会在您调整窗口大小时来回重定向您。

甚至更好!当您从横向切换到纵向(反之亦然)时,它会在移动设备中来回重定向您。

<script type="text/javascript">
    $(window).on('load resize',function(){
        if($(window).width() < 950){
            window.location = "https://www.google.com"
        }
    });
</script>
Run Code Online (Sandbox Code Playgroud)

  • ,除非您在其他网站上使用相同的脚本将 &lt; 更改为 &gt; (2认同)
  • 当然,您必须在其他网站上使用类似的脚本。 (2认同)

cal*_*ack 5

如果您必须使用 Javascript,请尝试以下操作:

<script type="text/javascript">
   function redirect() {
   if (screen.width <= 950) {
      window.location = "https://www.google.com/";
   }
Run Code Online (Sandbox Code Playgroud)

并在你的身体中添加:

<body onload="setTimeout('redirect()', 300)">
Run Code Online (Sandbox Code Playgroud)

这将在页面加载 300 毫秒后重定向用户,这样您就可以确保屏幕width可用。