【发布时间】: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