Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Вывод обьектов document.write (Crazy_YOS)
Author Message
Crazy_YOS
Участник форума



Joined: 16 Feb 2005
Posts: 22
Карма: 0
   поощрить/наказать


PostPosted: Wed Feb 16, 2005 3:41 am (написано за 12 минут 21 секунду)
   Post subject: Вывод обьектов document.write
Reply with quote

Помогите разобраться пожалуста.
Значит у меня есть блоки( ну например форма поиска, пункты меню.. всего около), блоками я их называю так как они определяют определённую часть страницы. Все эти блоки берут информацию, подключаясь с БД и выводят через document.write Посколько например блок показа карты внизу страницы не маленький выглядит он в браузере после загрузки так:
map_site.php
Code (JavaScript): скопировать код в буфер обмена
document.write('<table width="94%" height="119" border="0" cellpadding="0" cellspacing="0" class="table_2_s">');
document.write('<tr>');
document.write('<td valign="top" background="http://****/image');
document.write('s/map_fon.jpg"><table width="100%" border="0" cellspacing="0" cellpadding="0">');
document.write('<tr>');
document.write('<td height="30">');
document.write('<p> <img src="http://***/imag');
document.write('es/map_portal.jpg" width="119" height="22" align="absbottom"></p></td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td><table width="100%" borde');
document.write('r="0" cellspacing="0" cellpadding="0">');
document.write('<tr>');
document.write('<td width="30"> </td>');
document.write('<td><font color="#08498B"');
document.write('><img src="http://****/images/strelki.gif" width="6" height="5" align="absmiddle">');
document.write(' -   -  - ');
document.write('-  -  -  - ');
document.write('- ');
document.write('  - <br>');
document.write('<img src="http://****/images/strelki');
document.write('.gif" width="6" height="5" align="absmiddle">');
document.write(' - F');
document.write('ace To Face -  - ');
document.write('-   - SMS - PA');
document.write('GER - ');
document.write(' EMail<br>');
document.write('<img src="http://****/images/strelki.gif" width="6" height="5" align="absmiddle">');
document.write('  ICQ -  - ');
document.write(' -  -  -  - -');
document.write('<br>');
document.write('<img src="http://****/images/stre');
document.write('lki.gif" width="6" height="5" align="absmiddle">');
document.write('');
document.write('-   - ');
document.write('-  -  - ');
document.write('/');
document.write('-  - <br>');
document.write('<img src="http://****images/strelki.gif" width="6" height="5" align="abs');
document.write('middle">');
document.write('/ -  -  - Digital');
document.write('Reviews -  -  -  -');
document.write(' -  </font></td>');
document.write('</tr>');
document.write('</table></td>');
document.write('</tr>');
document.write('</tab');
document.write('le></td>');
document.write('</tr>');
document.write('</table>');
Вот таких блоков у меня аж 10.. Понимая что не целесобразно -- пошел на этот шаг. Так как другого способа динамически подгружать элементы в страницу я не нашёл, так как у меня страницы разбросаны по разным подоменам, разным директориям простым SSI можно запутатся.. Вот и получил что первый раз страница грузится 2 минуты потом нормально сек за 10-16. В первый раз загрузки страницы -- интересная вещь.. браузер загружает всё а потом думает минуты полторы, потом модем что-то скачает за пол сек. и страница загрузилась... Но 2 минуты -- не шутка.. А если у меня оооочень много поддоменов и главная каждого поддомена загружаясь впервый раз будет грузится 2 минуты -- то, увы, терпения хватит только у меньшей части посетителей. Поэтому, громадная просьба помочь решить мне эту проблему..Пожалуйста посоветуйте, как загружать быстро и надёжно элементы в браущер по URL. Возможно как-то решается это с JAva Script, возможно есть какоето решение которое я не знаю..... Пожалуйста :)
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Wed Feb 16, 2005 3:46 am (спустя 5 минут; написано за 17 секунд)
   Post subject:
Reply with quote

Зачем тут JavaScript - из Вашего поста непонятно совершенно.
Back to top
View user's profile Send private message Send e-mail
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 268
   поощрить/наказать

Location: Питер

PostPosted: Wed Feb 16, 2005 5:33 am (спустя 1 час 46 минут; написано за 2 минуты 36 секунд)
   Post subject:
Reply with quote

Crazy_YOS
Если Вы блоки подгружаете через <script>, то это Вы зря делаете.
Потому и тормоза такие при первоз загрузке (позже всё из кеша загружается).

Посмотрите в сторону шаблонизаторов.
В крайнем случае - структурируйте нормально SSI модули и документацию к ним напишите.

А формировать страницу используя JS - дурной тон.
Back to top
View user's profile Send private message
Crazy_YOS
Участник форума



Joined: 16 Feb 2005
Posts: 22
Карма: 0
   поощрить/наказать


PostPosted: Wed Feb 16, 2005 7:34 pm (спустя 14 часов 1 минуту; написано за 15 минут 12 секунд)
   Post subject:
Reply with quote

Дмитрий Котеров, JavaScript тут используется для того чтобы с определённого URL подгружать определённую часть страницы :-) Я это делаю через <script, потому как другого способа подгузки страницы через URL не вижу.. Как и не вижу спсособа подгружать части страницы на страницы разбрасаные по разным папками и разым доменам.

WingedFox,я знаю что "дурной тон" :) ..у меня как я вышеговорил страницы разкиданы по разным папкам и доменам. И самое главное что страницы эти -- это скрипты, это просто страницы и многое и многое. Естественно если бы у меня всё было бы PHP я бы всторил всё в шаблонизаторы, хотябы те которые есть в скритах, но у меня всё нетак. Мне нужно подгружать определённые части дизайна по URL или по крайней мере так, чтобы для каждой страницы не прописывать отдельно от куда и куда какой блок грузить, это придётся делать если для SSI :-)
"структурируйте нормально SSI модули" - это как? :)

P.S. Скажите как возможнго сделать быстрее загрузку.. Почему так долго грузится, это потому что много document.write? Если я сделаю на один блок один document.write(content), контент будет формироватся content.= Тоже будет долго? А через xml я если правильно понял красиво быстро и правильно блоки я не подгружу, так как нужен парсер, но он с серверной стороны, тоесть результаты его тоже нужно будет както подгрузить.
Back to top
View user's profile Send private message
Ant
Сотрудник «Лаборатории»



Joined: 17 Jun 2003
Posts: 6840
Карма: 131
   поощрить/наказать


PostPosted: Wed Feb 16, 2005 7:41 pm (спустя 6 минут; написано за 2 минуты 37 секунд)
   Post subject:
Reply with quote

Crazy_YOS wrote:
JavaScript тут используется для того чтобы с определённого URL подгружать определённую часть страницы
А с помощью того же PHP, например, нельзя вытаскивать с разных URL разную информацию и самим PHP формировать готовую страницу, которую безболезненно выдавать пользователю? Говорят же Вам, не дело это, JS напрягать в таких вопросах. Или трафик за счёт пользователя хотите экономить?

Давайте так, Вы сейчас пишите подробно, что Вы пытаетесь сделать (на пальцах описываете — чтобы ребёнку понятно стало), а мы уже вместе подумаем, как это лучше сделать. Ок?
Back to top
View user's profile Send private message Send e-mail
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Wed Feb 16, 2005 7:48 pm (спустя 7 минут; написано за 20 секунд)
   Post subject:
Reply with quote

Сходите, пожалуйста, в Поиск по запросу «SSI». Спасибо!
Сходите, пожалуйста, в Поиск по запросу «Server Side Include». Спасибо!

там язык простой (сейчас уже непомню)
Code (html): скопировать код в буфер обмена
<!--#if request1 -->
<!--#include virtual filename1 -->
<!--#elif request2 -->
<!--#include virtual filename2 -->
Back to top
View user's profile Send private message
Ant
Сотрудник «Лаборатории»



Joined: 17 Jun 2003
Posts: 6840
Карма: 131
   поощрить/наказать


PostPosted: Wed Feb 16, 2005 7:57 pm (спустя 8 минут; написано за 54 секунды)
   Post subject:
Reply with quote

Так, то ли я что-то не понимаю, то ли одно из двух... Человек про URL говорит. Какой тут SSI с filename?
Back to top
View user's profile Send private message Send e-mail
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 268
   поощрить/наказать

Location: Питер

PostPosted: Wed Feb 16, 2005 7:59 pm (спустя 2 минуты)
   Post subject:
Reply with quote

Crazy_YOS
А зачем по разным доменам-то?

Если не сложно, дайте ссылку на этот проект, хоть посмотреть, как оно работает.
Back to top
View user's profile Send private message
Crazy_YOS
Участник форума



Joined: 16 Feb 2005
Posts: 22
Карма: 0
   поощрить/наказать


PostPosted: Wed Feb 16, 2005 8:06 pm (спустя 6 минут; написано за 1 минуту 13 секунд)
   Post subject:
Reply with quote

Проблема не в том, как вытаскивать информацию с разных URL, так как эта информация берётся с баз данных моего сайта и моиими PHP скриптами просто выводится с использованием document.write. Потом я эти PHP скрипты подключаю через javascript и получаю динамически подгружаесый контент.

Если бы у меня всё было только PHP я бы естественно бы сделал как минимум include('') и не ломал бы не себе не браузерам голову :)

Проблема в том как...образно говоря загрузить один HTML в другой через URL. У меня есть PHP скрипт, который через print выводит в формате JAVASCRIPT информацию которую берёт с БД. А этот скрипт я подключаю потом к странице через URL данного скрипта. Можно написать вывод контенета с БД в этом PHP файле, не в формате JavaSc а в любом другом формате, XML например. Только как браузер должен будет подгрузить её..

Возможно кто-то посоветует и без URL, если в SSI не предётся менять по сто раз путь к файлу который выдаёт подгружаемый контент

Сейчас дам пример работы скрипта..
Back to top
View user's profile Send private message
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 268
   поощрить/наказать

Location: Питер

PostPosted: Wed Feb 16, 2005 8:15 pm (спустя 8 минут; написано за 18 секунд)
   Post subject:
Reply with quote

куча iframe или object подойдёт?
Back to top
View user's profile Send private message
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Wed Feb 16, 2005 8:18 pm (спустя 3 минуты)
   Post subject:
Reply with quote

Ant, было сказано
Crazy_YOS wrote:
динамически подгружать элементы
модифицированная цитата с www.webclub.ru/archive/technology/article-124.html
Code (html): скопировать код в буфер обмена
<!--#if expr="$DOCUMENT_URI=/\/internet\//" -->
<!--#include virtual="internet.html" -->
<!--#elif expr="$DOCUMENT_URI=/\/database\//" -->
<!--#include virtual="database.html" -->
Back to top
View user's profile Send private message
Ant
Сотрудник «Лаборатории»



Joined: 17 Jun 2003
Posts: 6840
Карма: 131
   поощрить/наказать


PostPosted: Wed Feb 16, 2005 8:22 pm (спустя 3 минуты; написано за 44 секунды)
   Post subject:
Reply with quote

Одно дело — подгружать с определённого URL данные через HTTP-протокол. Другое — инклудить файлы на стороне сервера.
Back to top
View user's profile Send private message Send e-mail
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Wed Feb 16, 2005 8:22 pm (спустя 12 секунд; написано за 8 секунд)
   Post subject:
Reply with quote

ох елки-палки!!!
Вы, простите, не правильно сформулировали вопрос
Crazy_YOS wrote:
после загрузки так:
map_site.php
Crazy_YOS wrote:
баз данных моего сайта и моиими PHP скриптами
и вашей теме не место тут
Code (php): скопировать код в буфер обмена
<?
if ($REQUEST_URI == 'internet''database'
Back to top
View user's profile Send private message
Crazy_YOS
Участник форума



Joined: 16 Feb 2005
Posts: 22
Карма: 0
   поощрить/наказать


PostPosted: Wed Feb 16, 2005 8:28 pm (спустя 6 минут; написано за 23 секунды)
   Post subject:
Reply with quote

Вот пример работы. Извините что не в интернете..
Всё происходит на site.com. Подключается site.com/www_elements/dmap.php

код dmap.php(возмите во внимание, что это частный случай из 10. В этом просто выводся контент как есть в базе. в других данные берутс с БД и организуются в таблицы\списки\блоки)
Code (php): скопировать код в буфер обмена
<?
include("../../users/includes/d/mysql.php");
include("global_php.php");

$sql="SELECT map FROM `template_map_niz`";
$result=mysql_query (www.php.net/mysql_query)($sql);
$result2=mysql_num_rows (www.php.net/mysql_num_rows)($result);
$row=mysql_fetch_array (www.php.net/mysql_fetch_array)($result);

while(list($vn,$vv) = each (www.php.net/each)($row))
{
 $vv=stripslashes (www.php.net/stripslashes)($vv);
 $vv=trim (www.php.net/trim)($vv);
 $$vn = $vv;
}

$dlina=strlen (www.php.net/strlen)($map);
$kol=$dlina/100;

$beg=0;
//
for ($i=0; $i<$kol;$i++)
{
$sub=substr (www.php.net/substr)($map, $beg, 100);
$sub2=trim (www.php.net/trim)($sub);
$arr=split (www.php.net/split)("\n", $sub2);
while (list($key, $value)= each (www.php.net/each)($arr))
{
$value=trim (www.php.net/trim)($value);
print (www.php.net/print) "document.write('$value');\n";
}
$beg+=100;
}
?>
Результат работы скрпта в брузере(что выдаёт) site.com/www_elements/dmap.php
Code (JavaScript): скопировать код в буфер обмена
document.write('<table width="94%" height="119" border="0" cellpadding="0" cellspacing="0" class="table_2_s">');
document.write('<tr>');
document.write('<td valign="top" background="http://***/image');
document.write('s/map_fon.jpg"><table width="100%" border="0" cellspacing="0" cellpadding="0">');
document.write('<tr>');
document.write('<td height="30">');
document.write('<p> <img src="http://***/imag');
document.write('es/map_portal.jpg" width="119" height="22" align="absbottom"></p></td>');
document.write('</tr>');
document.write('<tr>');
document.write('<td><table width="100%" borde');
document.write('r="0" cellspacing="0" cellpadding="0">');
document.write('<tr>');
document.write('<td width="30"> </td>');
document.write('<td><font color="#08498B"');
document.write('><img src="http://***/images/strelki.gif" width="6" height="5" align="absmiddle">');
document.write('Новости - Доска объявлений - Погода - Фото');
document.write('- Транспорт - СМИ - Справочные - История');
document.write('- Поис');
document.write('к людей - Чат<br>');
document.write('<img src="http://***/images/strelki');
document.write('.gif" width="6" height="5" align="absmiddle">');
document.write('Знакомства - F');
document.write('ace To Face - Открытки - Форум');
document.write('- Личные странички - SMS - PA');
document.write('GER - Сообщение');
document.write('на EMail<br>');
document.write('<img src="http://***/images/strelki.gif" width="6" height="5" align="absmiddle">');
document.write('Сообщение на ICQ - Транслитератор - Пригласите');
document.write('друга - События - Киноафиша - Туризм - ТВ-программа');
document.write('<br>');
document.write('<img src="http://***/images/stre');
document.write('lki.gif" width="6" height="5" align="absmiddle">');
document.write('Образование');
document.write('- Ночная жизнь - Кинотеатры');
document.write('- Искусство - Развлечение - Отд');
document.write('ых/размещение');
document.write('- Транспорт - Магазины<br>');
document.write('<img src="http://***/images/strelki.gif" width="6" height="5" align="abs');
document.write('middle">');
document.write('Здоровье/красота - Библиотеки - Еда - Digital');
document.write('Reviews - Бизнес - Хабаровск - Работа -');
document.write('Спорт - Здоровье </font></td>');
document.write('</tr>');
document.write('</table></td>');
document.write('</tr>');
document.write('</tab');
document.write('le></td>');
document.write('</tr>');
document.write('</table>');
Код подгузки в дизайн
для многих страниц для
site.com/bussines/content/clas.htm
cla.site.com/
arhive.site.com/12/12/2004/12.htm
dates.site.com/indx.php?indext=profile
pages.site2.com/vasya/gues.htm
u2u.site.com/sendto.php?s=nameuse
и т.д... Очень много..В итоге на всех этих сайтах я вижу одни и те же элементы которые показывают текущее карты сайта.
Code (html): скопировать код в буфер обмена
<script (december.com/html/4/element/script.html) language="JavaScript" src="http://site.com/www_elements/dmap.php" type="text/JavaScript"> (december.com/html/4/element/.html)
</script>
Back to top
View user's profile Send private message
Rumata
Профессионал



Joined: 17 Aug 2003
Posts: 1850
Карма: 185
   поощрить/наказать


PostPosted: Wed Feb 16, 2005 8:35 pm (спустя 6 минут; написано за 1 минуту 49 секунд)
   Post subject:
Reply with quote

а что Вам мешает все это где document.write(...)
записать на PHP вот так
Code (php): скопировать код в буфер обмена
<? include "http://moigorod.us/www_elements/temp_niz_map.php" ?>
Back to top
View user's profile Send private message
WingedFox
Профессионал



Joined: 29 Apr 2003
Posts: 4064
Карма: 268
   поощрить/наказать

Location: Питер

PostPosted: Wed Feb 16, 2005 8:40 pm (спустя 5 минут)
   Post subject:
Reply with quote

Crazy_YOS
Ну точно - проще было бы нарисовать iframe в этом месте.


Насчёт структуры:
сделайте так, чтобы на всех сайтах этот самый dmap.php лежал в одном и том же месте, оттуда и подключайте его через любой вид include.

Кстати, эта тема уже подымалась: в первых версиях Орфуса сайты не загружались (не показывался контент), пока код Орфуса не начинал исполняться в браузере.
Скорее всего у Вас эта же проблема.
Back to top
View user's profile Send private message
Crazy_YOS
Участник форума



Joined: 16 Feb 2005
Posts: 22
Карма: 0
   поощрить/наказать


PostPosted: Wed Feb 16, 2005 8:54 pm (спустя 14 минут; написано за 1 минуту 30 секунд)
   Post subject:
Reply with quote

Rumata, видимо я так обьясняю :) Я говорю, что еслибы у меня все страницы были PHP я бы безусловно так и сделал :)
Back to top
View user's profile Send private message
Crazy_YOS
Участник форума



Joined: 16 Feb 2005
Posts: 22
Карма: 0
   поощрить/наказать


PostPosted: Wed Feb 16, 2005 8:56 pm (спустя 2 минуты; написано за 1 минуту 10 секунд)
   Post subject:
Reply with quote

WingedFox, iFrame.. Вариант. Спасибо, наверно так и сделаю.. Но они в хистори помоему в хистори страницы будут идти.. Правильно?
А что такое "Орфус"? :)
Back to top
View user's profile Send private message
Юрий Насретдинов
Модератор



Joined: 13 Mar 2003
Posts: 8642
Карма: 198
   поощрить/наказать

Location: 007 495

PostPosted: Wed Feb 16, 2005 9:36 pm (спустя 39 минут; написано за 18 секунд)
   Post subject:
Reply with quote

Crazy_YOS wrote:
А что такое "Орфус"? :)
Шутку оценили. Теперь попробуйте догадаться, о чем идет речь
Back to top
View user's profile Send private message Send e-mail
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7275
Карма: 9986
   поощрить/наказать


PostPosted: Wed Feb 16, 2005 11:44 pm (спустя 2 часа 8 минут; написано за 3 минуты 28 секунд)
   Post subject:
Reply with quote

Crazy_YOS wrote:
еслибы у меня все страницы были PHP я бы безусловно так и сделал :
Ну, так и делайте.
Если проблема в том, что страница должна быть именно *.html, -- смотрите mod_rewrite.
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Thu Feb 17, 2005 12:00 am (спустя 16 минут; написано за 1 минуту 45 секунд)
   Post subject:
Reply with quote

Вообще, разбивать страницу на блоки через <script> - идея довольно плохая, и в основном - как раз из-за тормозов браузеров при загрузке множества элементов. К тому же, пока последний скрипт не загрузится, страница будет пустой - это во всех браузерах так, и впечатление от этого отвратительное.

Если у Вас множество доменов, рекомендую выделить общие куски кода в библиотеки и подключать их из разных доменов (наверняка ведь режат они на одном хостинге и даже в одной пользовательской директории).
Back to top
View user's profile Send private message Send e-mail
Crazy_YOS
Участник форума



Joined: 16 Feb 2005
Posts: 22
Карма: 0
   поощрить/наказать


PostPosted: Thu Feb 17, 2005 12:04 am (спустя 4 минуты; написано за 2 минуты 12 секунд)
   Post subject:
Reply with quote

Дмитрий Котеров, я сделаю всё на Iframe. А почему такие относительно легкие скрипты(в итоге размер после вывода не превышает 30 кб) грузят систему? document.write_ами? А как динамич скрипт записывается в кэш?
И есть ли предел использования <script>? Чтоб загрузка проходила быстро.

baev, :)) вы не поняли :) У меня сервисы, где-то PHP а где-то HTML которые будут писатся или архивы. Я не хочу переходить на PHP полностью. Это вполне естественно гдето работают скрипты гдето обычные страницы :) Вот и возникла такая проблемка котору я решая IFRAME.

Только вот как сделать прозрачный фрейм :(( Вот это проблемка.. Никто не знает? :) Пожалуйста
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Thu Feb 17, 2005 12:26 am (спустя 21 минуту; написано за 1 минуту 12 секунд)
   Post subject:
Reply with quote

IFRAME будет всегда иметь фиксированный размер на странице, так что Вам, скорее всего, тоже не подойдет.

Систему скрипты не "грузят". Просто браузеры при отображении множества JS-скриптов, да и еще с разных страниц, будут это делать долго - а именно, страница останется белой, пока не загрузится последний скрипт.
Back to top
View user's profile Send private message Send e-mail
Crazy_YOS
Участник форума



Joined: 16 Feb 2005
Posts: 22
Карма: 0
   поощрить/наказать


PostPosted: Thu Feb 17, 2005 12:33 am (спустя 6 минут; написано за 1 минуту 29 секунд)
   Post subject:
Reply with quote

Дмитрий Котеров, понятно :) А почему собственно этот процесс у них проходит так долго? Ведь получается 30 кб скриптов, адрес которых указан в явном виде и ресурсов то и не так много нужно чтобы вывести documnet.write

А что мне может подойти?
Back to top
View user's profile Send private message
Дмитрий Котеров
Администратор



Joined: 10 Mar 2003
Posts: 13665
Карма: 413
   поощрить/наказать


PostPosted: Thu Feb 17, 2005 12:39 am (спустя 6 минут; написано за 1 минуту 2 секунды)
   Post subject:
Reply with quote

Что Вам может подойти, уже выше сказали.

Почему тормозит - что характерно, тоже: потому что страница не показывается по частям, а толко сразу, а выполнение десятка запросов к разным JS-скриптам (если их столько) будет отнимать какое-то время, даже если скрипты мизерного размера.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML