Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   jQuery для загрузки страницы в <div> (https://javascript.ru/forum/jquery/1294-jquery-dlya-zagruzki-stranicy-v-div.html)

Dr.Holerik 10.06.2008 19:38

jQuery для загрузки страницы в <div>
 
Требуется, что бы в index , в определённый блок загуржались контентные страницы.
Для этого заюзал jQuery

index.html
Код:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    <title>test jQuery</title>
    <script type="text/javascript" src="jquery.js"></script>
<body>
<a href='javascript:$("#content").load("/general.html body")'>Главная страница</a>
<div id="content"></div>
</body>
</html>

general.html предстваляет из себя просто дукумент с чистым HTML.

Проблема в том, что после клика по ссылке, вместо загрузки general.html появляется надпись
"[object Object]" .

Я пробовал убрать general.html из каталога сайта - результат аналогичный.

Господа знатоки JavaScript, пожалуйста, помогите советом, где у меня ошибка?

П.С. Пробовал в IE, FF и Опере - результат аналогичный. :(

Pastorman 19.12.2009 18:34

Мне очень инересно. Дорогой Dr.Holerik вы нашли решение своей проблемы?

Tim 19.12.2009 21:21

Сразу скажу что в jQuery не спец, но я бы / убрал т.е. load("general.html body"). Потом конструкция href='javascript: считается плохой идеей - Почему <a href="javascript:..."> - плохо. И ещё я не уверен насчёт "general.html body". Допустимы ли такие конструкции? Если general.html будет загружаться только с помощью .load() то возможно имеет смысл упростить jQury и html?

Likbezz 26.06.2010 02:14

Цитата:

Сообщение от Tim (Сообщение 38560)
Сразу скажу что в jQuery не спец, но я бы / убрал т.е. load("general.html body"). Потом конструкция href='javascript: считается плохой идеей - Почему <a href="javascript:..."> - плохо. И ещё я не уверен насчёт "general.html body". Допустимы ли такие конструкции? Если general.html будет загружаться только с помощью .load() то возможно имеет смысл упростить jQury и html?

... Нет, убирать слешь, то есть ссылку на документ не надо, просто, для функции $.load адрес «general.html body» - не корректный.
Варианты:
Либо загружать, нарпимер первый див, или страницу целиком, иди любой другой див, с атрибутом ID.
Примеры:
<div id="content"></div>
<a href="javascript://" onclick="$('#content').load('/deee01-1.html');return false;">Главная страница</a>
<!--Просто запрос на страницу, с выводом в блок #content-->
<a href="javascript://" onclick="$('#content').load('/deee01-1.html div:first');return false;">Главная страница</a>
<!--Просто запрос на страницу, в первый див, с выводом его содержимого в блок #content-->
<a href="javascript://" onclick="$('#content').load('/deee01-1.html #contText')">Главная страница</a>
<!--Просто запрос на страницу, в #contText, с выводом в блок #content его содержимого-->



Flesh

Gvozd 26.06.2010 03:38

Likbezz,
некропостинг?

Likbezz 28.06.2010 08:47

Gvozd,
.... ヅ Ага, типа того ....
Кстати, я же наткнулся на этот пост, значит, по идее, кто нить ещё прочитает, типа автора первого поста. :)

Atlant-t 21.12.2010 08:20

УУУУУУУУУУРРРРРРРРРРААААА АААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
УУУУУУУУУУРРРРРРРРРРААААА АААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
УУУУУУУУУУРРРРРРРРРРААААА АААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
УУУУУУУУУУРРРРРРРРРРААААА АААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Я вас люблю парни.
Целые сутки без перерыва бъюсь над проблемой. И вот оно.............
Решение.

Большое спасибо.
:dance: :dance: :dance: :dance: :dance: :dance:

:dance: :dance: :dance: :dance: :dance: :dance:

Atlant-t 21.12.2010 10:57

Приношу извинения за флуд. Но не мог сдержаться.
:) :) :)

Вот мой вариант после небольшого абгрэйда.

В файле.html:
.........
<div class="main">
<div class="titlbox"><p class="li" id="a">Первая</p></div> <!-- Основной список -->
<div class="titlbox"><p>Вторая</p></div> <!-- Основной список -->
<div class="subbox">
<div>
<p class="li" id="b">Первый подкаталог</p>
<p class="li" id="c">Второй подкаталог</p>
<p class="li" id="d">Третий подколотый</p>
<p class="li" id="e">Четвертый подколотый</p>
<p class="li" id="f">Пятый подкоталог</p>
</div>
</div>
......

Во внешнем скрипте:

.......
$('p.li').click(function(){
var li = $(this).attr("id");
switch (li) {
case 'a': ($('div.win').load('a.html')); break
case 'b': ($('div.win').load('b.html')); break
case 'c': ($('div.win').load('c.html')); break
case 'd': ($('div.win').load('d.html')); break
case 'e': ($('div.win').load('e.html')); break
case 'f': ($('div.win').load('f.html')); break
default: ($('div.win').load('Error.html'));
}
.......

Likbezz 21.12.2010 16:37

Цитата:

Сообщение от Atlant-t (Сообщение 84633)
Приношу извинения за флуд. Но не мог сдержаться.
:) :) :)

Вот мой вариант после небольшого абгрэйда.

В файле.html:
.........
<div class="main">
<div class="titlbox"><p class="li" id="a">Первая</p></div> <!-- Основной список -->
<div class="titlbox"><p>Вторая</p></div> <!-- Основной список -->
<div class="subbox">
<div>
<p class="li" id="b">Первый подкаталог</p>
<p class="li" id="c">Второй подкаталог</p>
<p class="li" id="d">Третий подколотый</p>
<p class="li" id="e">Четвертый подколотый</p>
<p class="li" id="f">Пятый подкоталог</p>
</div>
</div>
......
Во внешнем скрипте:
.......
$('p.li').click(function(){
var li = $(this).attr("id");
switch (li) {
case 'a': ($('div.win').load('a.html')); break
case 'b': ($('div.win').load('b.html')); break
case 'c': ($('div.win').load('c.html')); break
case 'd': ($('div.win').load('d.html')); break
case 'e': ($('div.win').load('e.html')); break
case 'f': ($('div.win').load('f.html')); break
default: ($('div.win').load('Error.html'));
}
.......

- Жестоко .... Ой как жестоко.
Я бы так не придумал ..... ヅ ... Это ж, блин, почти искусство ...
Проще нужно .... Гораздо проще.
$('p.li[id]').click(function(){
var li=$(this).attr("id")||'Error',url=li+'.html';
$('div.win').load(url,function(a,b,c){if(b=='error'){$('div.win').html('Извините, но произошла ошибка: '+c.status+' '+c.statusText)}});
return false;});

Пример v1
Пример v2
... или вот, как альтернатива «404» ....
Пример v3
... А вообще, это делается соовсем по другому .... ヅ
Пример? ... Ну, например вот это: «День гаишника» ....
Или вот это «Darkseed - Poison Awaits (2010)» - то, что в спойлерах - внешние файлы, в данном случае - *.txt? но сути не меняет.
А вообще по этому вопросу - полно инфы с примерами и пошаговыми объяснениями/инструкциями. Кое что есть и на моём форуме.
... ヅ

Atlant-t 22.12.2010 01:40

Вариант вроде бы хороший. Но я ничего так и не понял, что за что отвечает. А можно самоучке по пальцам объяснить в эту строчку:

$('p.li[id]').click(function(){
var li=$(this).attr("id")||'Error',url=li+'.html';
$('div.win').load(url,function(a,b,c){if(b=='error '){$('div.win').html('Извините, но произошла ошибка: '+c.status+' '+c.statusText)}});
return false;});


Часовой пояс GMT +3, время: 10:48.