【问题标题】:How to retrieve and save HTML viewer's information in Javascript如何在 Javascript 中检索和保存 HTML 查看器的信息
【发布时间】:2018-02-24 22:54:53
【问题描述】:

我有一个公开的 HTML 主页。使用谷歌分析,它提供了一些观众的人口统计信息,还有操作系统、浏览器等。

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

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

【问题讨论】:

  • 根据给出的答案,我只能获得浏览器信息,但不能获得登录的用户信息。你能得到解决方案吗?如果是这样,请帮帮我。

标签: javascript html ajax web google-analytics


【解决方案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 只需几行代码即可获取大量用户信息

这是codeproject 的另一个现成的 php 解决方案,您所要做的就是复制该类;实例化它,然后执行此操作;

 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>

【讨论】:

  • 我对获取特定于用户的信息更感兴趣,例如计算机名称或用户名。有什么办法吗?
  • 当您说Computer name or username 时,您到底是什么意思?像“hp pavilion”、“del inpirion”之类的名字?具体
  • 用户名很清楚:用户的登录名,就像我的 Java 示例一样。计算机名称是用户在安装操作系统时设置的计算机名称。在 Windows 中仅供参考:computerhope.com/issues/pictures/computer-name.jpg
  • 顺便说一句,Google Analytics 中也没有真正的 IP 值。检索也不错。
猜你喜欢
  • 2021-11-15
  • 2016-08-10
  • 1970-01-01
  • 1970-01-01
  • 2017-10-08
  • 2019-02-05
  • 1970-01-01
  • 2017-02-17
  • 1970-01-01
相关资源
最近更新 更多