【问题标题】:How can I redirect a page based on the client's browser with JavaScript (or other)?如何使用 JavaScript(或其他)基于客户端浏览器重定向页面?
【发布时间】:2016-06-14 20:11:40
【问题描述】:

今天,我正在制作我的网站,当我意识到我的一些脚本和样式无法在旧版本的浏览器上使用时。所以,我想知道是否可以检查到底是什么浏览器和浏览器版本使用 JavaScript,并让它自动重定向到不同的页面? (例如:http://lypi.ml/en-us/browserType?=firefox_1.0.0谢谢! :)列出所有浏览器脚本!

【问题讨论】:

  • 你试过用谷歌搜索吗?网上有很多例子

标签: javascript redirect web


【解决方案1】:

您可能正在寻找的是browser detection using the user agent. 如果您查看navigator.userAgent,您将能够收集有关当前浏览器的大量信息。以下是您的浏览器报告的内容:

console.log(navigator.userAgent);

但是,用户代理嗅探几乎永远不是答案。引用我之前链接的页面:

注意:值得重申:使用用户代理嗅探几乎不是一个好主意。您几乎总能找到更好、更广泛兼容的方法来解决您的问题!

用户代理字符串不可靠且充满谎言。例如,如果我在 Chrome 51 上运行上面的代码,它的字符串中有 Mozilla。格式一直在切换,没有什么需要浏览器报告准确的信息。真的,您只是依靠诚意从用户代理字符串中获取任何好的信息。

您绝对应该考虑使用更强大的方法来处理不同的浏览器。例如,仅以跨浏览器格式编写代码或使用多种工具将代码编译为兼容格式。

【讨论】:

  • 好的。非常感谢您的帮助。
【解决方案2】:

这段代码可以帮助你,

如果浏览器是IE7,会自动跳转到google站点。

<!DOCTYPE html>
<html>
    <head> 
    </head>
    <body>
        <p id="x"></p>
        <script>
            var x = document.getElementById("x");
            var userAgent = navigator.userAgent;
            if(userAgent.indexOf("MSIE 7.0")!=-1)
                window.location = "https://www.google.com";
            else
                x.innerHTML = "Other browsers";
        </script>
    </body>
</html>

【讨论】:

    【解决方案3】:

    我自己知道有几种重定向方法,但我不确定它们是否完全适合你。

    <script language="javascript">
        location.replace("http://www.yournewsite.com");
    </script>
    

    <meta http-equiv="refresh" content="1; url=http://www.yournewsite.com">
    

    我希望这个或任何人的回答有帮助!祝您有美好的一天。

    与我的回答相关的信息可以在here找到。

    【讨论】:

    • 你说得对,这会导致重定向,但 OP 希望根据用户使用的浏览器进行重定向。
    • 这根本不能回答问题。问题是关于确定用户的浏览器,然后进行相应的重定向。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多