Soo*_*tah 5 javascript iframe bookmarklet session-state session-timeout
我有一个我在工作中使用的基于浏览器的应用程序(实际上所有公司应用程序现在都基于浏览器,原因很明显),它的会话超时时间很短。我不确定会话超时的确切设置,但大约是 5-10 分钟。
不可避免地,每当我必须使用它时,会话已超时,我将信息输入应用程序,提交它,然后页面加载一个全新的会话,而没有实际传递任何信息 - 我得到的只是一个新的会议。然后我必须重新输入信息并再次提交,以便让它真正提取我想要的内容。当然,我可以先刷新页面然后输入信息,但我不知道会话是否超时,有时它运行得很慢,所以这是浪费时间。我们的开发团队无法预见这样的小事不仅令人讨厌,但当你考虑到浪费的时间(我为一家非常大的公司工作)只是等待被炸毁的东西重新加载,然后如果预刷新时不得不重新输入提交的信息时,最终也会花费我们很多钱被遗忘了,因为它通常发生在我之外。在某个时候,我希望成为程序员和我们的客户服务机构之间的联络人。
无论如何,我离题了。
我想要做的是:我想创建一个 Javascript 书签或其他东西,如果在特定时间范围内未检测到活动,它将自动刷新它碰巧所在的任何页面。与我最终确定会话超时是什么相比,这个时间范围有点短。基本上,如果在那段时间内没有活动,我只想让页面每隔五分钟重新加载一次。(我不希望它突然刷新,因为在我使用应用程序的过程中时间已经到了,它应该进行自动刷新的唯一时间是应用程序页面一直处于空闲状态)
这可以用 Javascript 书签完成吗?我应该编写一个页面“包装器”,在 iFrame 或类似的东西中加载应用程序页面?我使用的应用程序站点有许多子页面,如果发生自动刷新超时,我希望它刷新我当时碰巧所在的任何页面。当然,如果这是不可能的,我会接受它只是重新加载主站点页面,如果这不容易实现,因为如果我离开应用程序的时间足够长以至于超时发生,那么我可能不需要仍然在我当时所在的任何帐户/页面上。
希望我已经很好地解释了自己。逻辑很简单 -if no activity detected withing x amount of time, refresh the current page是它的要点。
谢谢我的 StackOverflow 兄弟们,再次感谢您的帮助。
-Sootah
由于我无法影响页面本身的编码,因此我必须尽可能使用最简单的解决方案。一个对上次刷新/页面加载进行计时然后在达到超时时刷新同一页面的书签将是完美的。
如果这是不可能的,那么如果我可以编写一个简单的页面,我可以从本地计算机运行该页面,该页面可以通过将页面加载到框架或其他可接受的内容来执行相同的功能。
EDIT 10/3/11 7:25am MST
Run Code Online (Sandbox Code Playgroud)
由于我在坟墓工作并且工作时间安排很奇怪(不幸的是,这个网站被封锁在那里,因为它被认为是一个“论坛”——我在金融界工作,他们对信息泄露过于谨慎)在我授予赏金之前,有一个这些事件检测器中的一个检测页面上次加载的时间/?像 document.onload 之类的东西。我认为从上次加载页面时设置计时器将是最简单和最有效的方法。我的鼠标可能会移到浏览器上,因为我在处理其他事情时无意中打开了网站,如果计时器因此重置而我实际上没有以页面加载/重新加载的方式与网站进行交互,则会话超时。
伪代码
timeout = settimeout("call",200);
document.onmousemove = function() { timeout = new timeout("call",200); }
function call() {
document.refresh();
}
Run Code Online (Sandbox Code Playgroud)
像这样?
| 归档时间: |
|
| 查看次数: |
4695 次 |
| 最近记录: |