2015-03-18 71 views
0

我們正在使用MaxMind asynchronous geoip2 service來確定用戶所在的國家/地區。我們根據服務電話的國家代碼重定向到另一個網站。不過,我們遇到了一個問題,即在重定向發生在一秒鐘或兩秒鐘之前,該頁面部分或全部加載,這表明我們的美國主要網站在重定向到特定國家/地區之前。隱藏頁面,直到異步調用返回後

我們想阻止該網頁顯示,直到異步調用返回其結果之後。這裏是我們的代碼:

<script src="//js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    var onSuccess = function (location) { 
     var country_code = location.country.iso_code; 

     if(country_code == "UK") 
     { 
      <!-- 
      window.location = "http://www.ourcompany.co.uk" 
      //--> 
     } 
     else if(country_code == "GB") 
     { 
      <!-- 
      window.location = "http://www.ourcompany.co.uk" 
      //--> 
     } 
     // more ELSE IF statements for other countries.... 
    }; 

    var onError = function (error) { }; 

    // Asynchronous call to the MaxMind server 
    geoip2.country(onSuccess, onError); 
</script> 
+1

我不認爲這是可能的,防止頁面加載的唯一辦法就是'window.stop()',但它取消了負載所以只刷新恢復它。 這些東西通常由入口頁面處理,然後你可以記住用戶在cookie中選擇未來vistis – kidwon 2015-03-18 22:55:35

回答

1

不確定你的意思是你想阻止頁面加載,但也許隱藏頁面會做到這一點?使用CSS是這樣的:

body { 
    display: none; 
} 
+0

謝謝@KJ Price。我會重申這個問題。 – Alex 2015-03-18 22:51:12

+1

理想情況下,您可以將此應用於JavaScript,否則任何人打js禁用的網站都不會看到任何內容,無論他們是否會重定向 – 2015-03-18 22:51:16