У меня есть функция аутентификации, вставленная на все страницы, которые я хочу использовать только для пользователей. Но HTML получает рендеринг, а затем выполняет аутентификацию. Как я могу предотвратить рендеринг DOM до аутентификации?
Я могу сделать это, установив класс display = none в теле, удалив его при проверке аутентификации, но HTML отображается в консоли во время проверки. Нет, например, такого метода, как window.onload?
Ваш HTML не так важен, чтобы вы беспокоились о том, чтобы скрыть свою структуру. Создать свою структуру может любой желающий. Однако вам следует сосредоточиться на безопасности данных. При этом, если вы не хотите, чтобы клиент видел HTML до окончания запроса, отправьте HTML с сервера клиенту.
как насчет разделения кода? Сначала проверьте аутентификацию, затем асинхронно загружает HTML-код.
// auth page
const check =async()=>{
await authentication();
import("./renderFile.js").then(a => {
});
}
check();
можешь попробовать
if (authenticated) {window.open(params)}//open whatever page you want
и для нового окна
if (window.opener === 'bleh') {window.open(params)}//open error page
может быть неудобно для пользователя, поэтому попробуйте использовать document.write
Используйте
XMLHttpRequest
для проверки достоверности информации на сервере перед построением или показом DOM.