EOMY.NET
Хостинг EOMY.NET: Форум поддержки
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
RSS Feed  

Подгрузка файла (альтернатива frame)

 
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> JavaScript, AJAX
Подгрузка файла (альтернатива frame)
Автор Сообщение
Dis
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 23.07.2007
Сообщения: 224
Откуда: Российская Федерация, Белгород
13935 Монеты

СообщениеДобавлено: Ср, 11 Мар, 2009 19:51    Заголовок сообщения: Подгрузка файла (альтернатива frame) Ответить с цитатой

Доброй ночи.
Пересмотрел множество вариантов на сайтах, посвящённых ajax, но подходящих решений не нашёл.

Суть проста: есть набор html страниц; на одной из них есть меню, которое содержит ссылки на прочие страницы. Есть некий контейнер (div, например), в который необходимо загружать содержимое тех файлов. По href или onclick значения не имеет.

Иными словами, нужна альтернатива <frame> для статичного сайта.

Будьте любезны, если кто-нибудь сталкивался с подобным, подскажите возможное решение. Заранее благодарю.
_________________
"Псих!", - подумал Ёжик

"Если абсурд и существует, то лишь во вселенной человека"
- Альбер Камю
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
madhamster
Согнул ложку
Согнул ложку


Зарегистрирован: 09.10.2006
Сообщения: 902

460 Монеты

СообщениеДобавлено: Ср, 11 Мар, 2009 20:49    Заголовок сообщения: Ответить с цитатой

Нудык это же типичная задача для Ajax'a как ты и писал...
_________________
NextStage - live music competition
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Dis
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 23.07.2007
Сообщения: 224
Откуда: Российская Федерация, Белгород
13935 Монеты

СообщениеДобавлено: Ср, 11 Мар, 2009 21:37    Заголовок сообщения: Ответить с цитатой

madhamster
Типичная - да, только вот чёткого решения не нашёл. Есть подгрузка в контейнер с автоматической разбивкой по страницам всех ссылок без возможности дать ссылкам "имена". Либо загрузка производится в сам контейнер с меню.

Профессионал решит за пару минут, дилетант может вообще не решить. Сейчас склонен относить себя ко второй категории.
_________________
"Псих!", - подумал Ёжик

"Если абсурд и существует, то лишь во вселенной человека"
- Альбер Камю
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Roma-i-alena
11 1110 1000
11 1110 1000


Зарегистрирован: 03.05.2007
Сообщения: 1169
Откуда: vladimir
8115 Монеты

СообщениеДобавлено: Ср, 11 Мар, 2009 22:44    Заголовок сообщения: Ответить с цитатой

пишешь файл text-tools.js
Код:
function replaceText(el, text) {
  if (el != null) {
    clearText(el);
    var newNode = document.createTextNode(text);
    el.appendChild(newNode);
  }
}

function updateCont () {
            newCont = "сюда пишешь, то что дописать нужно";
         var chtoZamenit = document.getElementById("totId");
         replaceText(boardsSoldEl, newCont);
}


затем подключаешь его путем <script src=> в нужную страницу
и затем используя обработчик события, например onClick или что там тебе нужно, дописываешь нужные данные в определенный <div> соответсвенно обозначив его чере id.
например
Код:

<div id=totId onmouseover="updateCont();"> </div>

PS: суть думаю ясна, мож че не так, потому что уже 2 часа ночи, но думаю что логика должна быть понятна. не проверял, сваял с головы за 30 сек.[/code]
_________________
Жизнь никогда не заканчивается!!!
На то, собственно говоря, она и ЖИЗНЬ...
____________________________________
http://www.coderun.ru - Блог человека
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
[LP]LordPro.teus
Призрак Лорда
Призрак Лорда


Зарегистрирован: 26.07.2007
Сообщения: 5123

44732 Монеты

СообщениеДобавлено: Ср, 11 Мар, 2009 22:51    Заголовок сообщения: Ответить с цитатой

Roma-i-alena
ооочень спорное решение... но писать не буду, действительно найти раз плюнуть где угодно, даже на русском - лень-матушка...
_________________

А ведь еще не поздно смотаться на Азовское море, согреться на солнышке...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Dis
Хостинг — это наше всё!
Хостинг — это наше всё!


Зарегистрирован: 23.07.2007
Сообщения: 224
Откуда: Российская Федерация, Белгород
13935 Монеты

СообщениеДобавлено: Чт, 12 Мар, 2009 00:56    Заголовок сообщения: Ответить с цитатой

Roma-i-alena
Благодарю, возьму на заметку.

[LP]LordPro.teus
А вот зря Вы так. От лени, конечно, никуда не деться, но с чистой совестью могу сказать, что изучил первые десять страниц Гугла по запросам "AJAX примеры", и "AJAX подгрузка страниц", что в результате дало набор из двадцати скриптов, среди которых нет самого простого.
Нашёл более-менее подходящее решение на игровом сайте, да вот только дополнительная библиотека весит даже урезанная 40Кб.

Добавлено позже
Искомое найдено: http://www.sitepoint.com/blogs/2004/08/05/quick-tip-xmlhttprequest-and-innerhtml/
http://demos.openrico.org/inner_ajax_HTML

Благодарю ещё раз за внимание.
_________________
"Псих!", - подумал Ёжик

"Если абсурд и существует, то лишь во вселенной человека"
- Альбер Камю
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Roma-i-alena
11 1110 1000
11 1110 1000


Зарегистрирован: 03.05.2007
Сообщения: 1169
Откуда: vladimir
8115 Монеты

СообщениеДобавлено: Чт, 12 Мар, 2009 08:00    Заголовок сообщения: Ответить с цитатой

Цитата:
Roma-i-alena
ооочень спорное решение... но писать не буду

Может и так спорить не буду, не пробовал, писал на вскидку, так чо может быть ошибочное решение - но все же думаю, что должно работать. это не конечно решение, а лишь суть. хотя если есть явная ошибка то жду в ЛС
_________________
Жизнь никогда не заканчивается!!!
На то, собственно говоря, она и ЖИЗНЬ...
____________________________________
http://www.coderun.ru - Блог человека
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Александр Михалицын
Согнул ложку
Согнул ложку


Зарегистрирован: 22.08.2008
Сообщения: 924

23430 Монеты

СообщениеДобавлено: Чт, 12 Мар, 2009 08:11    Заголовок сообщения: Ответить с цитатой

Dis,
ммм.
А что XmlHttpRequest не рулит? Very Happy
Код:
var xmlhttpreq = new XMLHttpRequest();
xmlhttpreq.open('GET', 'файл который нужно открыть', true);
xmlhttpreq.onreadystatechange = function() {
  if (this.readyState == 4) {
     if(this.status == 200) {
       alert(this.responseText);
     }
  }
};
xmlhttpreq.send(null);


Это самый примитивный сампл обхект XMLHttpRequest лучше получать подругому... ну тоесть скажем в IE это не сработает... В гугле это легко находится! Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Roma-i-alena
11 1110 1000
11 1110 1000


Зарегистрирован: 03.05.2007
Сообщения: 1169
Откуда: vladimir
8115 Монеты

СообщениеДобавлено: Чт, 12 Мар, 2009 09:22    Заголовок сообщения: Ответить с цитатой

Цитата:
XMLHttpRequest лучше получать подругому... ну тоесть скажем в IE это не сработает...

помоему в 7 и 8 уже работает, но есть и старые браузеры. Зато там есть старый добрый ActiveXObject. Так что выход есть.
_________________
Жизнь никогда не заканчивается!!!
На то, собственно говоря, она и ЖИЗНЬ...
____________________________________
http://www.coderun.ru - Блог человека
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Артур
11 1110 1000
11 1110 1000


Зарегистрирован: 22.01.2008
Сообщения: 1163
Откуда: Lietuva
7497 Монеты

СообщениеДобавлено: Чт, 12 Мар, 2009 13:24    Заголовок сообщения: Ответить с цитатой

Вот у меня работает

Код:
var http;
function jsframe(url, element_id) {
    var element = document.getElementById(element_id);
    element.innerHTML = '<p>Loading</p>';
    http = null;
    if (window.XMLHttpRequest) {
        try {
            http = new XMLHttpRequest();
        } catch (e){}
    } else if (window.ActiveXObject) {
        try {
            http = new ActiveXObject('Msxml2.XMLHTTP');
        } catch (e){
            try {
                http = new ActiveXObject('Microsoft.XMLHTTP');
            } catch (e){}
        }
    }
 
    if (http) {
        http.open("GET", url, false);
        http.send(null);
      if(http.status == 200) {
         element.innerHTML = http.responseText;
      } else {
              alert("Connection error");
      }
    }
}

_________________
Скрипты [PHP/JS] на заказ, в ЛС, недорого.

SAPE
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Александр Михалицын
Согнул ложку
Согнул ложку


Зарегистрирован: 22.08.2008
Сообщения: 924

23430 Монеты

СообщениеДобавлено: Чт, 12 Мар, 2009 14:09    Заголовок сообщения: Ответить с цитатой

Цитата:
Зато там есть старый добрый ActiveXObject. Так что выход есть.

Я знаю. Я ведь и сказал что просто в инете поискать надо... Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
[LP]LordPro.teus
Призрак Лорда
Призрак Лорда


Зарегистрирован: 26.07.2007
Сообщения: 5123

44732 Монеты

СообщениеДобавлено: Чт, 12 Мар, 2009 14:25    Заголовок сообщения: Ответить с цитатой

Закончилось все тем, что нужно просто уметь составлять запросы для гугла = )) Все хорошо, что хорошо кончается
_________________

А ведь еще не поздно смотаться на Азовское море, согреться на солнышке...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Roma-i-alena
11 1110 1000
11 1110 1000


Зарегистрирован: 03.05.2007
Сообщения: 1169
Откуда: vladimir
8115 Монеты

СообщениеДобавлено: Чт, 12 Мар, 2009 15:59    Заголовок сообщения: Ответить с цитатой

Цитата:
Закончилось все тем, что нужно просто уметь составлять запросы для гугла = )) Все хорошо, что хорошо кончается


победила дружба! Laughing
а вообще, вон сколько решений предложили, и у каждого свой вариант. тем и хороши форумы и сообщества
_________________
Жизнь никогда не заканчивается!!!
На то, собственно говоря, она и ЖИЗНЬ...
____________________________________
http://www.coderun.ru - Блог человека
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов EOMY.NET -> JavaScript, AJAX Часовой пояс: GMT
Страница 1 из 1

 


Rambler's Top100   Рейтинг@Mail.ru    



Powered by phpBB © 2001, 2005 phpBB Group