|
Подгрузка файла (альтернатива frame)
|
| Автор |
Сообщение |
Dis Хостинг — это наше всё!


Зарегистрирован: 23.07.2007 Сообщения: 224 Откуда: Российская Федерация, Белгород 13935 
|
Добавлено: Ср, 11 Мар, 2009 19:51 Заголовок сообщения: Подгрузка файла (альтернатива frame) |
|
|
Доброй ночи.
Пересмотрел множество вариантов на сайтах, посвящённых ajax, но подходящих решений не нашёл.
Суть проста: есть набор html страниц; на одной из них есть меню, которое содержит ссылки на прочие страницы. Есть некий контейнер (div, например), в который необходимо загружать содержимое тех файлов. По href или onclick значения не имеет.
Иными словами, нужна альтернатива <frame> для статичного сайта.
Будьте любезны, если кто-нибудь сталкивался с подобным, подскажите возможное решение. Заранее благодарю. _________________ "Псих!", - подумал Ёжик
"Если абсурд и существует, то лишь во вселенной человека"
- Альбер Камю |
|
| Вернуться к началу |
|
 |
madhamster Согнул ложку


Зарегистрирован: 09.10.2006 Сообщения: 902
432 
|
Добавлено: Ср, 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


Зарегистрирован: 03.05.2007 Сообщения: 1133 Откуда: vladimir 6191 
|
Добавлено: Ср, 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 - Блог человека |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus Призрак Лорда


Зарегистрирован: 26.07.2007 Сообщения: 5092
42282 
|
Добавлено: Ср, 11 Мар, 2009 22:51 Заголовок сообщения: |
|
|
Roma-i-alena
ооочень спорное решение... но писать не буду, действительно найти раз плюнуть где угодно, даже на русском - лень-матушка... _________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь! |
|
| Вернуться к началу |
|
 |
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


Зарегистрирован: 03.05.2007 Сообщения: 1133 Откуда: vladimir 6191 
|
Добавлено: Чт, 12 Мар, 2009 08:00 Заголовок сообщения: |
|
|
| Цитата: | Roma-i-alena
ооочень спорное решение... но писать не буду |
Может и так спорить не буду, не пробовал, писал на вскидку, так чо может быть ошибочное решение - но все же думаю, что должно работать. это не конечно решение, а лишь суть. хотя если есть явная ошибка то жду в ЛС _________________ Жизнь никогда не заканчивается!!!
На то, собственно говоря, она и ЖИЗНЬ...
____________________________________
http://www.coderun.ru - Блог человека |
|
| Вернуться к началу |
|
 |
Александр Михалицын Согнул ложку

Зарегистрирован: 22.08.2008 Сообщения: 860
18841 
|
Добавлено: Чт, 12 Мар, 2009 08:11 Заголовок сообщения: |
|
|
Dis,
ммм.
А что XmlHttpRequest не рулит?
| Код: | 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 это не сработает... В гугле это легко находится!  _________________ Пригласительные коды |
|
| Вернуться к началу |
|
 |
Roma-i-alena 11 1110 1000


Зарегистрирован: 03.05.2007 Сообщения: 1133 Откуда: vladimir 6191 
|
Добавлено: Чт, 12 Мар, 2009 09:22 Заголовок сообщения: |
|
|
| Цитата: | | XMLHttpRequest лучше получать подругому... ну тоесть скажем в IE это не сработает... |
помоему в 7 и 8 уже работает, но есть и старые браузеры. Зато там есть старый добрый ActiveXObject. Так что выход есть. _________________ Жизнь никогда не заканчивается!!!
На то, собственно говоря, она и ЖИЗНЬ...
____________________________________
http://www.coderun.ru - Блог человека |
|
| Вернуться к началу |
|
 |
Артур 11 1110 1000


Зарегистрирован: 22.01.2008 Сообщения: 1159 Откуда: Lietuva 7191 
|
Добавлено: Чт, 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 |
|
| Вернуться к началу |
|
 |
Александр Михалицын Согнул ложку

Зарегистрирован: 22.08.2008 Сообщения: 860
18841 
|
Добавлено: Чт, 12 Мар, 2009 14:09 Заголовок сообщения: |
|
|
| Цитата: | | Зато там есть старый добрый ActiveXObject. Так что выход есть. |
Я знаю. Я ведь и сказал что просто в инете поискать надо...  _________________ Пригласительные коды |
|
| Вернуться к началу |
|
 |
[LP]LordPro.teus Призрак Лорда


Зарегистрирован: 26.07.2007 Сообщения: 5092
42282 
|
Добавлено: Чт, 12 Мар, 2009 14:25 Заголовок сообщения: |
|
|
Закончилось все тем, что нужно просто уметь составлять запросы для гугла = )) Все хорошо, что хорошо кончается _________________

До выхода LiteDiary 0.3.0: парам-пам-пам-пам! Она уже здесь! |
|
| Вернуться к началу |
|
 |
Roma-i-alena 11 1110 1000


Зарегистрирован: 03.05.2007 Сообщения: 1133 Откуда: vladimir 6191 
|
Добавлено: Чт, 12 Мар, 2009 15:59 Заголовок сообщения: |
|
|
| Цитата: | | Закончилось все тем, что нужно просто уметь составлять запросы для гугла = )) Все хорошо, что хорошо кончается |
победила дружба!
а вообще, вон сколько решений предложили, и у каждого свой вариант. тем и хороши форумы и сообщества _________________ Жизнь никогда не заканчивается!!!
На то, собственно говоря, она и ЖИЗНЬ...
____________________________________
http://www.coderun.ru - Блог человека |
|
| Вернуться к началу |
|
 |
|