FHIR client-js 上的 SMART:IE11 上的无效字符错误

SMART on FHIR client-js: Invalid Character Error on IE11

注意: GitHub 上也报告了该问题。请查看 Git 问题以及当前 progress/investigation.

我正在使用 fhir-client v0.1.15 开发一个 SMART on FHIR web 应用程序,它将 运行 在 EHR 启动场景中。例如在 Epic Hyperspace 模拟器中使用 IE 运行 SMART 应用程序。

在 IE11 上本地 (localhost) 测试我的应用程序时,我在 fhir-client.js.

中收到 JavaScript 错误

SCRIPT1014: Invalid character

File: fhir-client.js, Line: 38113, Column: 3

下面是代码中的两行。 38112 & 38113 依次为:

  var ret = Adapter.get().defer();
  var state = JSON.parse(sessionStorage[params.state]);

任何解决方案或解决方法将不胜感激。

已更新 经过进一步调查,我们发现当执行带有 JSON.parse 的行时,sessionStorage 是空的。但是,奇怪的是 why/how sessionStorage 在从授权服务器重定向后变空了。这只发生在 IE11 上,但在 Chrome 上一切正常。

PS。有人可以添加新标签 SMART 或 SMARTonFHIR 吗?

虽然我找不到确切的根本原因和解决方案,但让我分享帮助我以某种方式解决此问题的发现。

当我使用 redirect_uri(在 FHIR.oauth2.authorize 调用中)设置为登台服务器 URL 而不是本地主机来测试我的 SMART 应用程序时,问题不存在。

PS。我愿意接受更好、更合格的答案。