Azure ad b2c Azure AD B2C自定义策略的自定义加载屏幕

Azure ad b2c Azure AD B2C自定义策略的自定义加载屏幕,azure-ad-b2c,azure-ad-b2c-custom-policy,Azure Ad B2c,Azure Ad B2c Custom Policy,我正在创建一个自定义策略,并尝试自定义在不同页面之间加载策略时的行为。目前,其行为是屏幕变暗,显示一些与UI其余部分重叠的文本。如果可能的话,我想在加载过程中显示一些完全不同的HTML内容。到目前为止,我无法以影响UI其余部分的方式影响加载内容 我已经能够看到在加载ID为“simplemodal重叠”和“simplemodal容器”的过程中确实出现了几个div,并且我尝试在为自定义策略提供给Azure的HTML文件中使用JQuery修改这些div,但我所做的任何事似乎都没有以任何方式影响这些di

我正在创建一个自定义策略,并尝试自定义在不同页面之间加载策略时的行为。目前,其行为是屏幕变暗,显示一些与UI其余部分重叠的文本。如果可能的话,我想在加载过程中显示一些完全不同的HTML内容。到目前为止,我无法以影响UI其余部分的方式影响加载内容

我已经能够看到在加载ID为“simplemodal重叠”和“simplemodal容器”的过程中确实出现了几个div,并且我尝试在为自定义策略提供给Azure的HTML文件中使用JQuery修改这些div,但我所做的任何事似乎都没有以任何方式影响这些div


以前是否有人为自定义策略自定义了加载UI,他们能否就如何影响其行为向我提供建议?

实际上,B2C会动态地从HTML页面添加/删除id为:
SimpleModel overlap
的div:

因此,您无法通过JS代码直接捕获它。如果您只想更改其CSS显示,您可以在自定义页面上覆盖它,在我这边,我只需使用下面的代码将其颜色更改为灰色:

如果您想通过JS在它上面做更多的事情,那么可以添加一个事件侦听器来监视id为
SimpleModel overlap
的dom节点是否已添加到html主体中。见下面的代码:

<script>
 $('body').on('DOMNodeInserted', function(e) {
        if($(e.target).attr('id') == 'simplemodal-overlay'){
            
            $(e.target).css({"background":"green","font-size":"100px"});
                        $(e.target).html("LOADING !!!!!")
        }
    });

</script>

$('body')。在('domandeinserted',函数(e)上{
if($(e.target).attr('id')=='simplemodal overlay'){
css({“背景”:“绿色”,“字体大小”:“100px”});
$(e.target.html(“加载!!!”)
}
});

结果:


该模式已被弃用,您是否可以尝试通过设置“aria hidden”属性更改来注入DOM以显示为加载屏幕?@StevenZhou您是否可以更具体一点?我被你的说法搞糊涂了,你说模态被弃用了,因为该模态是由Azure提供的,但根据这些模态div的样式,我可以看出它们是导致当前行为的原因。不过,DOM注入听起来很有希望。该类是否在Azure端“工作”,自定义策略将与之交互,或者它是我应该在我的端创建并配置的类?我们过去管理两个页面契约版本,一个支持模式,另一个不支持。为了更好地协调版本,我们选择了没有模式的版本,因为它对客户的影响较小。我共享的html将来自Azure,您可以依赖它。我承认这不是一个好方法,我们可能会引入一个事件,您可以在未来的页面契约版本中使用您的代码,这样您就可以编写更干净的代码来实现相同的功能。好的,这绝对是有用的信息!你提到了两个不同的版本,我看到模态的事实是否意味着我使用的是过时的版本?我是否应该编辑自定义策略XML中的某些内容以使用正确的版本?我将用你共享的HTML进行实验,看看它是否能解决我的问题,谢谢!