2015-01-15 2 views
0

Мне интересно, можно ли иметь общие элементы между страницами, которые не обновляются при смене страниц.HTML не обновляет общие элементы при переключении страниц

В частности, я имею в виду: у меня есть заголовок, который является общим для нескольких страниц, и содержит ссылки на сами страницы. Только, всякий раз, когда я нажимаю на заголовок, вся страница обновляется, с типично раздражающим мерцанием, которое приходит с ним. Я хотел бы знать, можно ли зафиксировать заголовок между страницами, так что, когда я нажимаю ссылку на страницу изменения, содержимое обновляется, но заголовок не работает. (То же самое касается и фона).

То, что я сейчас это:

<script type="text/javascript"> 
    $(document).ready(function(){ 
    $("#header").load("../header_footer/header.html"); 
    }); 
</script> 

и в организме (общий для всех страниц)

<body> 
    <div id="header"></div> 
</body> 

Можно ли это сделать только с HTML или JavaScript?

Спасибо!

+1

Это не возможно, чтобы сохранить любые элементы страницы (или JS) при загрузке новой страницы. Но вы можете использовать Ajax для загрузки частей страницы без влияния на другие части страницы - и * вы уже делаете это *. Так что, кроме того факта, что вы, похоже, имеете это назад, в том, что вы используете Ajax для загрузки общего заголовка, в чем проблема? (Или, конечно, вы всегда можете пойти в старую школу и использовать iframes.) – nnnnnn

+0

Это возможно только через запросы ajax. В этой задаче очень много фреймворков javascript. Взгляните в [Sencha Ext Js] (http://www.sencha.com/products/extjs/) – Victor

ответ

0

К сожалению, это невозможно при использовании традиционных загрузок страниц. Если вы не хотите мерцания, я бы рекомендовал сделать ваш сайт одностраничным приложением. В принципе, вы загрузите свою страницу один раз в браузере, а затем все последующие страницы будут динамически загружаться в DOM через вызовы Ajax.

0
<style> 
#pg2,#pg3{display:none;} 
</style> 

<body> 

<div id="header"><button onclick="page(1)">Page 1</button><button onclick="page(2)">Page 2</button><button onclick="page(3)">Page 3</button></div> 
<div id="pg1"> 

</div> 
<div id="pg2"> 

</div> 
<div id="pg3"> 

</div> 
<script type="text/javascript"> 
//<![CDATA[ 
var pg =new Array; 
pg[1] = document.getElementById('pg1') 
pg[2] = document.getElementById('pg2') 
pg[3] = document.getElementById('pg3') 
function page(p){ 
    pg[1].style.display='none' 
    pg[2].style.display='none' 
    pg[3].style.display='none' 
    pg[p].style.display='block' 

} 

//]]> 

Смежные вопросы