Javascript 重定向 - 保留路径和变量,切换域

标签 javascript redirect mobile

我正在尝试使用 javascript 进行移动重定向。这是我想要完成的:

普通 View : https://secure.example.com/checkout/Checkout.aspx?a=1&b=2&c=3&d=456789

重定向到

移动 View : https://differentdomain.com/mobile/Checkout.aspx?a=1&b=2&c=3&d=456789

        <script type="text/javascript">
            function TN_mobileUrlOverride()
                {
                    TN_mobile.DroidUrl = TN_mobile.IphoneUrl = TN_mobile.BlackBerryUrl = "https://example.com/mobile" + window.location;
                }
        </script>
        <script src="http://s3.amazonaws.com/TNService/Js/mobile.js"></script>

当我使用 window.location 时,它添加了整个域,导致: https://example.com/mobile/https://differentdomain.com/mobile/Checkout.aspx?a=1&b=2&c=3&d=456789

当我使用 window.location.path 时,它不携带变量,只携带文件: https://differentdomain.com/mobile/Checkout.aspx

如何在替换域时保留文件和 url 参数?

谢谢!

最佳答案

使用location.host :

window.location.host = "differentdomain.com";

假设您需要 TN_mobile.DroidUrl = TN_mobile.IphoneUrl = TN_mobile.BlackBerryUrl 全部等于所需的 url,请执行:

var url = new URL(window.location);
url.host = "differentdomain.com";
TN_mobile.DroidUrl = TN_mobile.IphoneUrl = TN_mobile.BlackBerryUrl = url.toString();

关于Javascript 重定向 - 保留路径和变量,切换域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25555480/

相关文章:

linux - shell 脚本上的不明确重定向

php - Laravel - 清除重定向::意图()

java - 使用相同的包名和 key 对 apk 进行签名

javascript - 在智能手机浏览器上检测悬停或鼠标悬停

javascript - 当表更改内容时调用 Javascript 函数

javascript - 从 Sharepoint 2013 中的另一个列表获取 Peoplepicker 字段的详细信息

javascript - 在javascript中调用函数外部的变量

javascript - 如何在重定向时不显示 URI 变量?

javascript - iPhone 上的下拉菜单

javascript - 使用 jquery 为 "some selects with same parent class"内的所有选项添加类?