【问题标题】:Internet Explorer 11 Delayed Session on Classic ASP with Ajax带有 Ajax 的经典 ASP 上的 Internet Explorer 11 延迟会话
【发布时间】:2019-07-16 12:01:56
【问题描述】:

测试在 Edge、Firefox 和 Chrome 中正常工作的代码。

基本脚本是记录在特定文章上花费的时间。 当页面加载时,会话变量设置为页面加载的日期时间和一个单独的带有文章 ID 的变量,在同一页面上,有一个 javascript 计时器每 60 秒触发一个 XHR 请求到查看的页面会话变量,并在脚本运行期间每隔一整分钟提交给数据库。

在 Internet explorer 11 中,如果您浏览到一个文档,会话已设置并且可以在页面上调用,但是当调用 XHR 请求时会话变量显然是空的。

但是,如果您浏览到备用文档,则会继续显示正确​​的会话变量。

只有在第一篇文章访问时,会话变量才不会传输到 XHR 请求。

我已尝试检查 SessionID,这在所有页面/请求中都显示相同。

我已经尝试在 global.asa 中预先设置会话变量,以确保变量容器在会话开始时就在那里,并且行为没有差异。

我不知道从哪里开始,因为这似乎是 IE 11 的问题,但肯定知道我们 99% 的用户已经发布了将 IE11 作为默认浏览器的笔记本电脑。

任何帮助或指针都会受到重视。

【问题讨论】:

  • 可能是只有 IE 标志的 CORS 问题,是否有任何警告记录到控制台?此外,发布您的 JS 也会有所帮助。
  • 你用F12检查IE控制台是否有错误?并请提供a minimal, reproducible example,以便我们更好地了解这个问题,我们可以在我们这边进行测试。感谢您的理解。
  • 感谢您的帮助!我忽略了控制台中的一些相当重要的信息,其中各种 javascript 正在寻找从服务器加载的信息,这些信息在站点的第一次加载时不存在。因此,这些未找到的文件将通过关闭计时器并重置会话变量的页面提供 - 这仅在第一次加载时发生,因为之后不会再次检查这些文件。现在来了解如何删除对我正在使用的遗留引导代码嵌入的缺失 .less 文件的所有引用!

标签: session asp-classic internet-explorer-11 session-variables


【解决方案1】:

在我的特殊情况下,研究控制台并看到遗留的 js 库(例如 bootstrap)正在调用不存在的项目。由于我有自定义错误页面,它们运行相同的代码来关闭计时器(并重置会话 cookie),我正在寻找的会话变量在后台的 404 页面上被删除。

此项目现已解决。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-06
  • 2013-11-12
  • 2016-04-15
  • 2011-04-29
  • 2012-11-01
  • 1970-01-01
  • 2014-10-14
相关资源
最近更新 更多