尝试将 JavaScript 添加到 Azure B2C 本地注册页面时出错

问题描述 投票:0回答:3

我在 Azure 存储中存储的 HTML 页面上有以下任意 JavaScript 代码段(据我所知,使用屏幕截图来尝试演示语法是正确的): enter image description here

页面加载,样式正确,以及您期望的所有其他内容,证明其配置正确,CORS 设置等。但 JavaScript 不运行。相反,我收到此错误:

unified:5 Uncaught SyntaxError: Unexpected token '&'
at br (unified?local=signup&[omitted_for_brevity])
at at (unified?local=signup&[omitted_for_brevity])
at i.fn.init.append (unified?local=signup&[omitted_for_brevity])
at unified?local=signup&[omitted_for_brevity]

这大概是由以下原因引起的: enter image description here

由于原始脚本标签上的某种解析或编码错误而导致的额外脚本。

如果我直接从存储容器加载文件,它会加载并且 JavaScript 会毫无问题地触发。这告诉我 HTML 文件没问题,所以:

  • 我的加载方式与 B2C 不太兼容
  • 我还没有在 B2C 端配置一些东西来允许 JavaScript
  • 还有其他事

我已经配置了我在用户流程上可以看到的所有内容:

  • 启用 JavaScript 强制页面布局 设置为
  • 自定义 HTML 的路径已设置
  • CORS 是为自定义 HTML 配置的

有人以前见过这个问题,或者可以看到我在配置方面可能做错了什么吗?

编辑: 我大致遵循本指南: https://learn.microsoft.com/en-us/azure/active-directory-b2c/javascript-and-page-layout?pivots=b2c-user-flow

javascript azure azure-ad-b2c
3个回答
0
投票

这绝对是解析器错误,html 和 javascript 都很好。您需要跟踪错误以找到哪个函数错误地解析了代码。


0
投票

在我的办公桌上敲了很多头,并且完全缺乏 Microsoft 支持的帮助/线索后,答案非常简单 - 内联函数。

所以代替:

window.addEventListener('DOMContentLoaded', function () {
    alert('hello, world!');
});

我用过

function onLoad() {
    alert('hello, world!');
}
onLoad();

这工作得很好(包括不需要在 DOMContentLoaded 上注册)。


0
投票

如果您使用自断言页面布局版本 2.1.21 或更高版本,或者使用统一登录和注册页面布局版本,则需要在页面的 head 标签中包含脚本2.1.10 或更高版本。请参阅:https://learn.microsoft.com/en-gb/azure/active-directory-b2c/page-layout

© www.soinside.com 2019 - 2024. All rights reserved.