如何在portlet中加载页面时获取浏览器/客户端时间

时间:2009-11-12 05:05:36

标签: browser time client portlet

如何在portlet中加载页面时获取浏览器/客户端时间。我需要根据客户端时区做一个算法,这意味着在portlet的呈现阶段我需要获取浏览器的时区。是否有可能,如果是这样的话?

非常感谢任何帮助。

谢谢, 迈克尔

2 个答案:

答案 0 :(得分:1)

我认为HTTP请求不包含有关浏览器/客户端时间的任何信息,因此您需要以某种方式使用javascript来解决这个问题。我找到了一篇关于此问题的文章here

根据具体情况,我可以考虑一些我可能会使用的策略:

  1. 在上一个门户网站页面上使用javascript抓取客户端时间,并通过表单提交将其包含在对目标页面的请求中。
  2. 在初始页面加载时将portlet视图设置为“请稍候”消息,并通过AJAX请求将客户端时间发送到服务器。请求返回时,根据需要更新portlet视图。如果您正在编写JSR 286 portlet,则portlet可以实现ResourceServingPortlet接口以提供钩子(即serveResource方法)来呈现标记片段。有关更多信息,您可以下载JSR 286规范here(查看第14章“通过Portlet提供碎片”)。
  3. 使用portlet首选项为portlet设置默认时区。如果用户选择,请让用户选择不同的时区。这使您可以完全控制所支持的时区,而不依赖于浏览器或javascript。 Portlet首选项在上面#2中提到的规范的第17章中描述。

答案 1 :(得分:0)

我不知道portlet,但是如果它有一个javascript界面​​,也许可以调用dateObject.getTimezoneOffset()