2014-08-28 52 views
1

我正在尝试使用javascript进行移动重定向。这里就是我试图完成:Javascript重定向 - 保留路径和变量,切换域

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

重定向到

移动视图: 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参数?

谢谢!

回答

4

使用location.host

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

假设你需要TN_mobile.DroidUrl = TN_mobile.IphoneUrl = TN_mobile.BlackBerryUrl所有等于所需的网址,不要:

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

的Javascript新手...我不能正确地这样做,可以请你告诉在哪里以及如何做到这一点? – NotJay 2014-08-28 18:33:07

+1

@NotJay更新相关示例。 – tcooc 2014-08-28 18:38:43

相关问题