如何解决Outlook和IE11中Turbolinks的未指定错误
我们在使用IE作为其浏览器引擎的Outlook加载项中得到unspecified error
。该错误来自我们的已编译的application.js javascript文件,该文件可追溯到Turbolinks。
当我们在Outlook加载项集成中加载应用程序时,会发生此错误。有一个加载页面可以确定用户是否需要登录,如果不需要,则将其重定向到我们的应用程序中。
解决方法
这是您数天或数周都不休的错误之一,然后证明是一条线的错误。
TLDR;
window.location.replace(url)
很危险,因为它不会更新历史记录。这意味着用户将无法单击后退按钮。但是,这也意味着使用诸如Turbolinks之类的框架来操纵历史,您必须要小心。
相反,请使用:
window.location.assign(url)
长话短说:
在我们的Outlook加载项的登录页面(用于确定是提示登录还是重定向到应用程序)中,我们使用的是window.location.replace
。由于某种原因(我无法完全解释),在应用程序加载时,Turbolinks处理会尝试在窗口的历史记录对象上调用“ replaceState”。
由于某些原因,当您访问的第一页以replace
重定向时,会出现一个空的历史记录,导致IE中出现unspecified error
。
解决方法是简单地做一个正确的历史记录,以使用location.assign(url)
添加重定向。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。