2017-09-15 29 views
0

我有一個HTML主頁公開可用。使用谷歌分析,它提供了一些觀衆的人口統計信息,也提供操作系統,瀏覽器等。如何使用Javascript檢索和保存HTML查看器信息

我想從查看器獲得儘可能多的信息,尤其是操作系統登錄名或用戶名,並將它們保存在.txt文件。我怎樣才能做到這一點(或嵌入在我的HTML中的任何可能的手段)?

例如,在Java中,可以使用System.getProperty("user.name");來獲取用戶名。

回答

1

任何可能的方式嵌入在我的HTML

我假設你是開放的,包括PHP的任何技術?

以及PHP有一個內置的功能是: 查找php documtation for user os and browser agent info

你也可以試試這個在PHP:

<?php $_SERVER['HTTP_USER_AGENT']; ?> 

它會返回類似:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; IEMB3) 

你也可以使用 Google code Browscap class ,它將成爲一個很少的線獲得lotta用戶信息的問題

這是另一個現成的php解決方案,在codeproject你只需要複製這個類;實例化它,然後執行此操作;

echo $obj->showInfo('browser'); 

    // get browser version 
    echo $obj->showInfo('version'); 

    // get Operating system 
    echo $obj->showInfo('os'); 

將數據保存到文本文件寫的也許只有使用類瀏覽器信息會;

<?php 
    $file = 'file.txt'; 
     $data = $obj->showInfo('browser'); 
    file_put_contents($file, $data); 
    ?> 

不想使用PHP?

試試這個臨時搭建的JavaScript的解決方案,使用戶的操作系統信息

var OSName ="a name to give the os if it doesnt match the listed"; 
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows"; 
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS"; 
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX"; 
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux"; 

這應該返回OS的名稱,如:Windows或MacOS的

document.write('Your OS: '+OSName); 

或者嘗試這種解決方案也:

<div id="demo"></div> 

<script type="text/javascript"> 

     UserInfoString = "<span>Browser CodeName: " + navigator.appCodeName + "</span>"; 
     UserInfoString+= "<span>Browser Name: " + navigator.appName + "</span>"; 
     UserInfoString+= "<span>Browser Version: " + navigator.appVersion + "</span>"; 
     UserInfoString+= "<span>Cookies Enabled: " + navigator.cookieEnabled + "</span>"; 
     UserInfoString+= "<span>Platform: " + navigator.platform + "</span>"; 
     UserInfoString+= "<span>User-agent header: " + navigator.userAgent + "</span>"; 

     document.getElementById("demo").innerHTML=UserInfoString; 

     </script> 
+0

我更感興趣的是獲取用戶特定的信息,例如計算機名稱或用戶名。任何方式來做到這一點? –

+0

當你說'計算機名稱或用戶名'你究竟是什麼意思?像'hp亭子','del inpirion'有點名?請具體說明 – Maxwell

+0

用戶名是clear:用戶的登錄名,如我在Java中的示例。計算機名稱是在安裝OS時由用戶設置的計算機名稱。在Windows的FYI:https://www.computerhope.com/issues/pictures/computer-name.jpg –