【问题标题】:Tracking user activity on window opened by window.open() method在 window.open() 方法打开的窗口上跟踪用户活动
【发布时间】:2015-02-01 23:42:06
【问题描述】:

我想在客户端打开一个 ftp 浏览器,以便他可以在 ftp 中上传文件。 我正在使用window.open() 方法在子窗口中打开ftp。

var windowObjectReference = window.open("ftp://" + username + ":" + password + "@" + server,
                                         _blank', toolbar=yes, location=yes, status=yes,
                                         scrollbars=auto, copyhistory=no, 
                                         menubar=yes, width= 500px, height=500px,
                                         left=300px), top=100px, resizable=yes' );

ftp 如下所示:

[1]:http://i.stack.imgur.com/T6WYg.jpg

现在我想跟踪用户活动,例如他访问过的目录,并将路径发送到 jsp 页面如何做到这一点...??

【问题讨论】:

  • 在 ftp 服务器上执行此操作。在你的网络服务器上是不可能的。
  • 那么,怎样才能像浏览本地电脑一样从客户端浏览ftp服务器呢?
  • 你不能。出于安全原因(同源策略),无法跟踪显示外部站点的窗口内容。您所能做的就是为 ftp 服务器提供自己的接口,即在连接到 ftp 服务器等的 Web 服务器端执行一些代码 - 一种具有良好接口的代理。

标签: java javascript jsp ftp window.open


【解决方案1】:

出于安全原因,不同域的浏览器窗口不能互相看到 (same origin policy)。最重要的是,ftp 协议不支持任何可以让您跟踪用户行为的 JavaScript。

这让你有两个选择:

  1. 分析 FTP 服务器的日志文件,看看用户做了什么。
  2. 不要直接重定向到ftp://,而是编写一个JSP 来访问FTP 服务器上的文件。这样,您就可以跟踪用户所做的任何事情。

对于解决方案 #2,文件需要位于 Web 服务器上,或者您需要使用可以与 FTP 服务器通信的 Java 库。

注意:浏览器中的 FTP 客户端可能是使用 HTML 和 JavaScript 实现的,但是所有这些代码都隐藏在浏览器的某个地方。所以即使显示的是 HTML 和 JavaScript,你也无法访问它。

【讨论】:

  • 那么我怎样才能实现一个客户化的界面,以便客户端只能直接上传他们的文件到 ftp 服务器呢?
  • 您可以改用HTTP上传。
  • jsp页面浏览ftp目录的代码要不要写?
  • 我写道:“编写一个 JSP,它可以访问 FTP 服务器上的文件。”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-20
  • 1970-01-01
  • 2013-04-04
  • 1970-01-01
  • 2019-11-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多