У меня проблемы с запуском некоторого кода до загрузки страницы в jquery или js. Все, что я делаю на странице, будет иметь короткую загрузку, а затем мои коды запустятся. Я запускаю код до того, как пользователь увидит страницу, но она загружается за несколько миллисекунд, после чего запускается мой код.
Я сделал несколько решений и не сделал то, что хочу:
document.ready
onload()
в jsНо тот же результат: мой код запускается через миллисекунды, и пользователь видит страницу перед запуском кода в эти миллисекунды.
Есть идеи?
@sanjundev — В этом нет никакого смысла. Вы не можете вызвать событие размытия для элемента управления до того, как этот элемент управления существует… что происходит при отображении страницы… что побеждает объект запуска кода до отображения страницы.
Вы можете перевести свой код в состояние «загрузки» документа через document.readyState
, но в этом состоянии DOM не готов к работе. Вот пример использования document.readyState
https://developer.mozilla.org/en-US/docs/Web/API/Document/readyState#Different_states_of_readiness Что на самом деле вы хотите сделать?
Вы не должны использовать любой код в <head>
Я предлагаю использовать загрузчик, поэтому сделайте тег body невидимым с помощью css display:none
поэтому ваш код будет запускаться так, как будто страница еще не загружена.
то вы добавляете $(document).ready({$('body').css('display','block')})
Начните со скрытого тела и покажите его после выполнения кода.
<html>
...
<body style='display:none'>
...
<script>
$(document).ready( function() {
...
$(document.body).show();
})
</script>
</body>
</html>
Скрипты внутри <head>
будут запущены до того, как это произойдет, но доступа к элементам на странице не будет.
Попробуйте этот код
<body>
<script type = "text/javascript">
alert("After click ok you'll see the page content!!!");
</script>
rest of the page
</body>
Jquery и Javascript являются клиентскими языками и считываются браузером при загрузке страницы.
Обычно мы использовали бы что-то вроде:
$(document).ready(function(){
//do stuff
});
Это делается для того, чтобы убедиться, что элементы загружены на экран до запуска функций JS, чтобы убедиться, что все элементы, необходимые для сценария, были загружены.
То, что вы, кажется, делаете, запускает сценарий одновременно с загрузкой страницы, поэтому в сценарии может быть что-то, что препятствует загрузке остальной части HTML во время его работы, и поэтому вы видите время загрузки.
Вы должны посмотреть на PHP. (препроцессор гипертекста) Это серверный язык, а не клиентский. Таким образом, он предварительно обрабатывает то, что вы хотите на стороне сервера, а затем отправляет это клиенту/браузеру пользователя.
Проверьте http://www.developphp.com/
Вам необходимо предоставить минимальный воспроизводимый пример. Большинство подходов, которые вы предлагаете, явно предназначены для ждать для отображения страницы перед запуском кода. Некоторые из них должны работать… в зависимости от того, что на самом деле делает код… чего мы не знаем. Почему имеет значение код запускается до рендеринга страницы, неясно.