如何在Javascript

时间:2017-09-15 17:27:04

标签: javascript html ajax web google-analytics

我公开提供HTML主页。使用Google Analytics,它可以提供一些观看者的人口统计信息,还有操作系统,浏览器等。

我希望从查看器中获取尽可能多的信息,尤其是操作系统登录名或用户名,并将它们保存在.txt文件中。我怎么能用javascript(或我的HTML中嵌入的任何可能的方法)来做到这一点?

例如,在Java中,可以System.getProperty("user.name");获取用户名。

1 个答案:

答案 0 :(得分: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 获得很多用户信息只需几行就可以了。

这是另一个现成的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";

这应该返回一个操作系统名称,如: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>