2016-11-02 9 views
0

Я разрабатываю сайт с нуля, и я понял, что вместо того, чтобы иметь код заголовка (баннер + горизонтальное меню навигации) на каждой странице html, было бы более эффективно иметь он в отдельном файле HTML и использует функцию загрузки JS в теле каждой страницы, поэтому я могу изменить заголовок только в одном файле, чтобы применить изменения ко всему веб-сайту, а не тратить время на его изменение на каждой странице.сайт мигает, поскольку код заголовка загружается из другого файла

проблема в том, так как я сделал это изменение с помощью:

<script> 
$("#header").load("header_eng.html"); 
</script> 

в теле каждой страницы (где header_eng является HTML-файл, содержащий мой код заголовка), мой сайт начал «мигать» между каждой страницы. Теперь, когда я перемещаюсь по сайту, изображение баннера, например, мигает/мерцает между страницами, а не просто остается там.

У меня не было этой проблемы, когда код заголовка был в коде каждой страницы.

вот пример сайта с кодом заголовка на каждой странице файла: https://cbrieuc.github.io/index.html (только две первые страницы находятся на первом примере так просто спам ссылку «О себе» или «Новости», чтобы проверить для мигания)

и здесь с функцией «нагрузки» вместо: https://cbrieuc.github.io/index_eng.html

здесь является то, что код выглядит на странице, используя функцию «нагрузки»

<!DOCTYPE html> 
<html> 

<head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
    <title>BRIEUC COUILLEROT</title> 

    <link rel="stylesheet" type="text/css" href="style.css"> 
</head> 

<body> 
<div id="header"></div></br> 
<div id=corps> 
<pre> 
test 
</pre> 
</div> 

<!--loading header from header.html--> 
<script> 
$("#header").load("header_eng.html"); 
</script> 

</body> 

</html> 

Любая идея, что произошло? , кстати, я довольно новичок в веб-разработке!

+0

Это не совсем связано с вашим вопросом, но если вы используете 'github.io' (страницы GitHub), вы можете использовать [Jekyll] (https://jekyllrb.com/) бесплатно. Это статический генератор сайтов, который автоматизирует множество вещей, например, убедитесь, что все ваши страницы имеют верхний и нижний колонтитулы. Это требует некоторой настройки, но это проще, чем создавать что-то вроде PHP. –

ответ

2

Это потому, что javascript выполняется после загрузки страницы. Вам нужно включить свой файл заголовка, используя язык на стороне сервера, например php

+0

Не существует способа добиться того, что я ищу без php? я пробовал его с Php, но mozilla firefox вообще не читал мой index.php .. поэтому я предполагал, что слишком много посетителей будут иметь такую ​​же проблему. – nekomata

+0

@nekomata перемещает javascript на верхнюю часть тела, сразу после открытия тега тела. – joshpj1

+0

@nekomata Это плохая практика, так как проблемы с сетью могут привести к тому, что исходная страница будет неактуальной. Лучшая практика для использования включает в себя, как это, чтобы построить ответную сторону сервера. –