2013-06-21 34 views
0

第一篇文章需要一些幫助。我正在建立一個內部網絡,有一系列的iPad用來控制我的房子。我正在構建一個使用javascript將網站控制命令發送到連接到我的服務器的不同設備的網站。我想在5個不同的房間裏放5個ipad。每個主頁都有不同的控件。所以我的臥室的控制器將會與我的客廳等的控制器不同......然而,在我的每個ipad上,我都會有一個導航欄,讓我可以跳轉到另一個房間進行控制。我遇到的問題是,我希望能夠點擊任何房間的任何頁面上的主頁按鈕,並將該房間的iPad自動重定向回到特定於主頁的主頁ipad在那個房間裏,唯一能看到這樣做的方法是在每個ipad上設置一個靜態ip,並讓home按鈕回到index.html,在那裏讀取請求的ipad的ip地址,然後重定向到正確的這個ipad基於它的靜態ip地址的主頁。kicker是我不能使用php。我可以使用.asp但我不知道asp。如果有人能幫到那將是太棒了。我從中獲取了一段代碼一個不同的帖子,但結果不斷給我我的外部知識產權,這對我正在嘗試做的事毫無價值,見下文。通過具有特定名稱的表單在第一次連接時註冊每個ipad並將該信息保存爲cookie。每次ipad轉到index.html時,都會讀取cookie並相應地重定向。如何使用javascript捕獲內部LAN IP地址

<script type="text/javascript" language="javascript"> 
    function myIP() { 
    if (window.XMLHttpRequest) { 
     xmlhttp = new XMLHttpRequest(); 
} 
    else { 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} 

    xmlhttp.open("GET","http://jsonip.appspot.com/",false); 
    xmlhttp.send(); 

    hostipInfo = xmlhttp.responseText; 
    obj = JSON.parse(hostipInfo); 
    document.getElementById("IP").value=obj.ip; 
    document.getElementById("ADDRESS").value=obj.address; 
} 
</script> 
</head> 

<body onload="myIP()"> 
    IP :<input type="text" id="IP" name="IP" /> 
ADDRESS :<input type="text" id="ADDRESS" name="ADDRESS" /> 
+0

是您的局域網上的網絡服務器? – lostsource

+0

您不知道,但是當用戶發出請求時,IP會被髮送到服務器。你把它發送到服務器,然後讓它回發。而且,就像lostsource所說的那樣,你的服務器必須放在局域網內。 –

+2

您可以使用HTML5本地存儲來存儲每個ipad的必要配置或狀態。編寫一個腳本來檢查該配置對象,並提示用戶輸入默認配置文件(如果該配置文件不存在)。知道配置後,可以異步加載正確的HTML元素,例如'('#jQuerySelector')。load('/ path.php',{panelName:'bedroom1'})' – Plato

回答

0

決定根據外部因素(IP)顯示哪些控件有點不靈活,並且可能會帶來很大的收益。

我更友好的方式將是在您的網頁上的一個小按鈕/複選框,以指示哪些控件屬於設備。有效地將該頁面設置爲主頁。

就像@Plato在他的評論中說的,你可以使用cookies,local- or session storage來保持配置狀態。最好的辦法是使用localStorage,因爲它不會過期。

+0

謝謝你們......我會給他們一個鏡頭。我剛剛嘗試了一個JS Cookie商店,它的工作原理,但我更喜歡HTML 5本地商店的想法,我會給那個一個鏡頭。 – user2510031