2012-05-26 58 views
2

我正在使用Kango框架編寫瀏覽器擴展。瀏覽器 Javascript - 以任何方式知道用戶的當前IP

作爲其功能的一部分,它必須知道用戶所在的位置。我用API覆蓋了該部分,但所述API需要將IP地址作爲參數之一。

有沒有一種方法可以在內部看到它是什麼(或上次是什麼),或者我必須單獨調用另一個服務(我想是一個簡單的PHP頁面)來弄清楚什麼是IP是什麼?

該位置建立後,該分機將撥打另一個電話。我應該對3個不同的電話感到厭煩嗎?

謝謝。

+0

Duplicate:http://stackoverflow.com/questions/391979/get-client-ip-using-just-javascript – TheBlackBenzKid

+0

這是可能的,但是... MESSY。最好的辦法是先服務器端,然後從服務器端腳本(PHP/ASP)等加載IP – TheBlackBenzKid

回答

3

的Javascript:

$.ajax({ 
     type: "POST", 
     url: "getIP.php", 
     data: "", 
     dataType: 'json', 
     success: function(ret) { 
      alert("ip = " + ret); 
     }, 
     error: function (xhr, ajaxOptions, thrownError) { 
      console.error(xhr.responseText); 
      console.error(thrownError); 
     } 
    }); 

PHP:

if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) 
    $IP = $_SERVER['HTTP_X_FORWARDED_FOR']; 
else 
    $IP = $_SERVER['REMOTE_ADDR']; 
echo json_encode($IP); 

旁註:我使用jQuery在這裏,在這裏閱讀文檔,如果你不知道如何使用它:http://docs.jquery.com/Main_Page

+1

警告傑克,你用jQuery ... – MaxArt

+0

是啊:P。雖然我覺得他也應該想一點自己。 – Hidde

+0

我明白了,別擔心:P – Jake

1

是的,出於安全考慮,您無法通過Javascript知道用戶的IP地址,因此您必須依賴服務器端的服務。

相關問題