使用window.open()方法打开的窗口如何追踪用户活动

7

我希望在客户端打开一个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服务器上执行此操作,您的Web服务器无法完成此操作。 - simonzack
那么,我们如何像浏览本地计算机一样从客户端访问FTP服务器呢? - monu dwivedi
1
无法实现。由于安全原因(同源策略),无法跟踪显示外部网站的窗口内容。您唯一能做的是提供自己的界面给FTP服务器,例如,在Web服务器端执行一些代码来连接FTP服务器等-一种带有良好界面的代理。 - Steffen Ullrich
1个回答

1
出于安全原因,具有不同域的浏览器窗口无法互相查看(同源策略)。此外,ftp协议不支持任何类型的JavaScript,这将允许您跟踪用户的操作。
这使你有两个选择:
  1. 分析FTP服务器的日志文件以查看用户的操作。
  2. 不直接重定向到ftp://,而是编写一个JSP,该JSP可以访问FTP服务器上的文件。这样,您就可以跟踪用户的任何操作。
对于解决方案#2,文件需要在Web服务器上,或者您需要使用可以与FTP服务器通信的Java库。
注意:浏览器中的FTP客户端可能使用HTML和JavaScript实现,但所有这些代码都隐藏在浏览器的某个地方。因此,即使显示为HTML和JavaScript,您也无法访问它。

那么我该如何实现一个定制化的界面,以便客户可以直接将他们的文件上传到FTP服务器? - monu dwivedi
你可以使用HTTP上传。 - Aaron Digulla
我应该在JSP页面中编写浏览FTP目录的代码吗? - monu dwivedi
我写道:“编写一个 JSP,用于访问 FTP 服务器上的文件。” - Aaron Digulla

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接