我正在尝试使用 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/