Убрать задержку при запуске скрипта при загрузке страницы - PullRequest
0 голосов
/ 03 октября 2019

В настоящее время у меня возникают проблемы с удалением задержки на моем веб-сайте, когда я запускаю функцию при загрузке страницы. Есть ли способ запустить функцию до загрузки страницы? Вот код, который я пытаюсь запустить:

function OnLoad()
if (Cookies.get('Theme') === 'OFF') 
{
$("body").removeClass("dark");
$(".inner-switch").text("OFF");
} else if (Cookies.get('Theme') === 'ON') {
$("body").addClass("dark");
$(".inner-switch").text("ON");
} else {
var Theme;
}
}

И вот как я запускаю его при загрузке страницы.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Will's Site</title>
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/navbar.css">
<link href="https://fonts.googleapis.com/css?family=Lato&display=swap" rel="stylesheet"> 
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<body onload="OnLoad()">
<!-- Nav Bar -->

<!-- Content -->


<!-- Scripts -->
<script src="js/jquery-3.4.1.js">  </script>
<script src="js/dark-mode.js"></script>
<script src="js/navbar.js"></script>
<script src="js/js.cookie.js"></script>
</body>
</html>

Если вам нужно больше ресурсов, вот GitHub для сайта: Моя ссылка на GitHub

Ответы [ 2 ]

0 голосов
/ 03 октября 2019

Похоже, что вы используете jQuery, чтобы вы могли выполнить свой код, когда DOM готов манипулировать, используя событие готовности jQuery, которое также добавляет совместимость с несколькими браузерами.

$(document).ready(function() {
 if (Cookies.get('Theme') === 'OFF') 
 {
   $("body").removeClass("dark");
   $(".inner-switch").text("OFF");
 } else if (Cookies.get('Theme') === 'ON') {
   $("body").addClass("dark");
   $(".inner-switch").text("ON");
 } else {
   var Theme;
 }
});

Также удалите onLoad из телапометьте и поместите этот код во встроенный или внешний скрипт после jQuery

0 голосов
/ 03 октября 2019

Лучший способ - использовать скрипт на стороне сервера, такой как php

<body class="<?php if( !empty( $_COOKIE[ 'theme' ] ) && $_COOKIE[ 'theme' ] == 'ON' ) { echo "dark" } ?>">

Таким образом, код прямо отображает правильную тему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...