如果有警告,隐藏DOM内容

Hide DOM content if there is an alert

本文关键字:DOM 内容 隐藏 警告 如果      更新时间:2023-09-26

假设我们有- /test?id=123,当我们在相应的页面上时,这里发生检查,如果检查失败-会弹出一条警告消息并将您重定向到'/'

现在,这工作得很好,除了当URL被击中时它加载DOM内容到HTML页。如果检查失败并将我重定向到索引页,我是否可以完全隐藏DOM内容?这基本上意味着,如果弹出警告消息,用户应该无法看到HTML页面包含什么,应该立即重定向。

我会使用ng-if来包装您的敏感DOM内容,如下所示:

<html>
    <head>
    ...
    </head>
    <body>
        <header>
        ...
        </header>
        <dialog ng-if="!checkPassed">This is your alert.</dialog>
        <main ng-if="checkPassed" ng-cloak>
           This is your protected content.
        </main>
        <footer>
        ...
        </footer>
    </body>
</html>

ng-cloak将阻止您的内容在页面加载时可见。如果条件(在本例中为$scope.checkPassed)解析为false,则ng-if将从页面中删除您的内容。

在你的Angular控制器中,你需要将$scope.checkPassed的值设置为truefalse,这取决于你的检查是成功还是失败。

这比ng-show更好,因为这意味着别人无法通过代码检查你的网站并看到内容。