Показать сообщение отдельно
  #1 (permalink)  
Старый 08.10.2012, 23:52
Аспирант
Отправить личное сообщение для Lodas Посмотреть профиль Найти все сообщения от Lodas
 
Регистрация: 09.02.2011
Сообщений: 33

Почему не перегружается блок Ajax
Здравствуйте уважаемые форумчане. Сделал подгрузку радио на страницу, при перемещении между index.html и page.html не могу понять почему оно все равно перегружается. Вот код:
Страница 1 index.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; Charset=UTF-8">
<script type="text/javascript" src="js/skript.js"> </script>
</head>
<body>
    <div id="contentBody"></div>
 
    <div id="loading" style="display: none">
    Идет загрузка...
    </div>
    <script type="text/javascript">
    showContent('radio.php');
    </script>
	<a href="page1.html">Ssilka</a>
	
</body>
</html>

Страница 2 (точная копия index.html но с учетом что ссылка ведет на страницу 1) page1.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; Charset=UTF-8">
<script type="text/javascript" src="js/skript.js"> </script>
</head>
<body>
     <div id="contentBody"></div> 
    <div id="loading" style="display: none">
    Идет загрузка...
    </div>
    <script type="text/javascript">
    showContent('radio.php');
    </script>
	<a href="index.html">Ssilka</a>
</body>
</html>

Радио radio.php
<iframe 
 style="border:1px solid #898989;overflow:hidden;border-radius:5px;-webkit-border-radius:5px;-moz-border-radius: 5px;"
 frameborder="0" scrolling="no" src="http://lovi.fm/mini/?c=4&a=1&r=1&h=165&s=856" width="320" height="95">
 </iframe>

И сам skript.js
function showContent(link) {
        //Получаем блоки и заносим их впеременные
        var cont = document.getElementById('contentBody');
        var loading = document.getElementById('loading');
 
        cont.innerHTML = loading.innerHTML;// устанавливает или получает всю разметку и содержание внутри данного элемента
 
        var http = createRequestObject();                   // создаем ajax-объект
        if( http ) {
            http.open('get', link);                         // инициируем загрузку страницы
            http.onreadystatechange = function () {         // назначаем асинхронный обработчик события
                if(http.readyState == 4) {
                    cont.innerHTML = http.responseText;     // присваиваем содержимое
                }
            }
            http.send(null);    
        } else {
            document.location = link;   // если ajax-объект не удается создать, просто перенаправляем на адрес
        }
    }
 
    // создание ajax объекта
    function createRequestObject() {
        try { return new XMLHttpRequest() }
        catch(e) {
            try { return new ActiveXObject('Msxml2.XMLHTTP') }
            catch(e) {
                try { return new ActiveXObject('Microsoft.XMLHTTP') }
                catch(e) { return null; }
            }
        }
    }

Помогите пожалуйста разобраться, хочу чтобы блок с радио не перезагружался при переходе по страницам(Страница 1, Страница 2), а работал как Ajax без перезагрузки

Последний раз редактировалось Lodas, 09.10.2012 в 00:06.
Ответить с цитированием