kolobdur74
Добавка загружаемого скрипта в скрипте и стиля в скрипте - тормозит загрузку раз в 5! и ксать не всегда удачно проходит.
Отредактировано Deff (Ср, 18 Сен 2013 06:33:29)
Единый форум поддержки |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Единый форум поддержки » Новые возможности форумов » Создаем полноценный Портал на форумах MyBB!
kolobdur74
Добавка загружаемого скрипта в скрипте и стиля в скрипте - тормозит загрузку раз в 5! и ксать не всегда удачно проходит.
Отредактировано Deff (Ср, 18 Сен 2013 06:33:29)
Добавка загружаемого скрипта в скрипте и стиля в скрипте - тормозит загрузку раз в 5! и ксать не всегда удачно проходит.
А если вынести вот так к примеру:
Код:<script type="text/javascript" src="http://forumstatic.ru/files/000e/14/cc/22591.js"></script> <link rel="stylesheet" type="text/css" href="http://forumstatic.ru/files/000e/14/cc/72498.css"> <script type="text/javascript" src="http://forumstatic.ru/files/000e/14/cc/60053.js"></script> <!--Название форума--> <div id="inf_name_portal">Имя форума</div> <!--Вставка меню--> <a id="inf_menu_portal" href="/pages/portal">Портал</a> <a id="inf_menu_forum" href="/">Форум</a> <div id="inf_menu_user">Участники</div> <div class="vse_podm" style="width:100%"> <li> <a href="#">Это категория 1</a> <span class="rightarrow"></span> <ul class="sub_2nd"> <li><a href="#">Это подменюшка 1</a></li> <li><a href="#">Это подменюшка 2</a></li> <li><a href="#">Это подменюшка 3</a></li> </ul> </li> <li><a href="#">Это категория 2</a> <span class="rightarrow"></span> <ul class="sub_2nd"> <li><a href="#">Это подменюшка 2</a></li> <li><a href="#">Это подменюшка 3</a></li> </ul> </li> </div> <!-- Вставка Анонсы портала --> <div id="inf_name_ob">Анонсы портала</div> <div id="inf_ob_nov"><marquee onmouseover="this.stop();" onmouseout="this.start();" behavior="scroll" direction="left" scrollamount="3" scrolldelay="1" width="100%">Анонсируем много анонсов... И еще, и еще, много-много..Можно и бегающей строкой..</marquee> <div class="edit-container" data="http://projekt1.bbmy.ru/viewtopic.php?id=39#p443"></div> </div> <!--Вставка блоков слева--> <div id=Inf_block_Left style="display:none"> <!--НАЧАЛО--> <h2>НОВОСТЬ 1</h2> Текст НОВОСТИ <h2>НОВОСТЬ 2</h2> Текст НОВОСТИ <h2>НОВОСТЬ 3</h2> <div id="statis"></div> </div> <!--Вставка блоков справа--> <div id=Inf_block_Right style="display:none"> <!--НАЧАЛО--> <h2>НОВОСТЬ 1</h2> Текст НОВОСТИ <h2>НОВОСТЬ 2</h2> Текст НОВОСТИ <h2>НОВОСТЬ 3</h2> Текст НОВОСТИ </div> <!--Исключаемые из новостей портала Темы --> <div id="delete_Tems" style="display:none"> <p>_й_</p> <p>$DEL$</p> <p>Тут контенты редактируемых блоков в HTML верх</p> <p>Тут контенты редактируемых блоков в объявлении</p> <p>Тут контенты редактируемых блоков На своей Странице</p> <p>Тут контенты редактируемых блоков в HTML низ</p> <p>Тут контенты редактируемых блоков в Правилах форума</p> <p>Фильмы</p> </div> <!--//Подгрузка контента редактируемых блоков "edit-container" --> <script type="text/javascript">loadEditContainers()</script>
C этим cуммарным стилем:
Все правильно, но в таком виде, то что на фиг не надо добавляем, а то что нужно для верстки дизайна убираем...Меню на фиг не нужно трогать, а место оно занимает прилично..Поэтому я и попытался объединить вещи, которые нужны для верстки дизайна, а то, что можно не трогать убрать в подключаемые файлы..
а то, что можно не трогать убрать в подключаемые файлы..
тогда убирай в рядом стоящие файлы, а не свернутые в друг друга.
Если Шаблон простой - то проще скрывать лишнее css в подгружаемом стиле,а сам скрипт разделить на подгружаемый link c css и скрипт.
Более сложное деление тормозит загрузку, часть сss, не нужную для правки можно подгружать в скрипте.
А если вынести вот так к примеру:
Всё одно, грузится дольше исходного(в опере Портал разворачивается только со второго рефреша)
Если шаблон простой, - вынести HTML шаблона на страницу,
Вставку дополнений оставить как и сейчас,
Загружать максимум два файла - сss и скрипт
Отредактировано Deff (Ср, 18 Сен 2013 16:39:57)
тогда убирай в рядом стоящие файлы, а не свернутые в друг друга.
Я так и сделал: пост 662 - лучше стало?
часть сss, не нужную для правки можно подгружать в скрипте.
Попробовать объединить css меню и скрипты?
Если Шаблон простой - то проще скрывать лишнее css в подгружаемом стиле,а сам скрипт разделить на подгружаемый link c css и скрипт.
Просто на случай, если кто захочет сделать более сложный вариант...Я сделал простой шаблон, но его надо еще проверить можно ли на нем сделать любую вариацию дизайна - я просто в этом не уверен..
Объединил css меню и скрипты: http://projekt1.bbmy.ru/pages/portal5 - получше стало или все так же?
Если шаблон простой, - вынести HTML шаблона на страницу,
Он простой, но за счет меню и пагинатора все равно выходит достаточно большим..
Объединил css меню и скрипты: http://projekt1.bbmy.ru/pages/portal5 - получше стало или все так же?
Он простой, но за счет меню и пагинатора все равно выходит достаточно большим..
Значит Меню и пагинатор засунуть в скрипт, отключать/включать либо сss - либо подобно установкам "Имя форума" и т.д
Отредактировано Deff (Ср, 18 Сен 2013 16:51:52)
Объединил css меню и скрипты: http://projekt1.bbmy.ru/pages/portal5 - получше стало или все так же?
У меня пока не изменилось:
<script type="text/javascript" src="http://forumstatic.ru/files/000e/14/cc/22591.js"></script> <link rel="stylesheet" type="text/css" href="http://forumstatic.ru/files/000e/14/cc/72498.css"> <script type="text/javascript" src="http://forumstatic.ru/files/000e/14/cc/60053.js"></script> <!--Название форума--> <div id="inf_name_portal">Имя форума</div> <!--Вставка меню--> <a id="inf_menu_portal" href="/pages/portal">Портал</a> <a id="inf_menu_forum" href="/">Форум</a> <div id="inf_menu_user">Участники</div> <div class="vse_podm" style="width:100%"> <li> <a href="#">Это категория 1</a> <span class="rightarrow"></span> <ul class="sub_2nd"> <li><a href="#">Это подменюшка 1</a></li> <li><a href="#">Это подменюшка 2</a></li> <li><a href="#">Это подменюшка 3</a></li> </ul> </li> <li><a href="#">Это категория 2</a> <span class="rightarrow"></span> <ul class="sub_2nd"> <li><a href="#">Это подменюшка 2</a></li> <li><a href="#">Это подменюшка 3</a></li> </ul> </li> </div> <!-- Вставка Анонсы портала --> <div id="inf_name_ob">Анонсы портала</div> <div id="inf_ob_nov"><marquee onmouseover="this.stop();" onmouseout="this.start();" behavior="scroll" direction="left" scrollamount="3" scrolldelay="1" width="100%">Анонсируем много анонсов... И еще, и еще, много-много..Можно и бегающей строкой..</marquee> <div class="edit-container" data="http://projekt1.bbmy.ru/viewtopic.php?id=39#p443"></div> </div> <!--Вставка блоков слева--> <div id=Inf_block_Left style="display:none"> <!--НАЧАЛО--> <h2>НОВОСТЬ 1</h2> Текст НОВОСТИ <h2>НОВОСТЬ 2</h2> Текст НОВОСТИ <h2>НОВОСТЬ 3</h2> <div id="statis"></div> </div> <!--Вставка блоков справа--> <div id=Inf_block_Right style="display:none"> <!--НАЧАЛО--> <h2>НОВОСТЬ 1</h2> Текст НОВОСТИ <h2>НОВОСТЬ 2</h2> Текст НОВОСТИ <h2>НОВОСТЬ 3</h2> Текст НОВОСТИ </div> <!--Исключаемые из новостей портала Темы --> <div id="delete_Tems" style="display:none"> <p>_й_</p> <p>$DEL$</p> <p>Тут контенты редактируемых блоков в HTML верх</p> <p>Тут контенты редактируемых блоков в объявлении</p> <p>Тут контенты редактируемых блоков На своей Странице</p> <p>Тут контенты редактируемых блоков в HTML низ</p> <p>Тут контенты редактируемых блоков в Правилах форума</p> <p>Фильмы</p> </div> <!--//Подгрузка контента редактируемых блоков "edit-container" --> <script type="text/javascript">loadEditContainers()</script>
Страницы кешируются провайдером
Поэтому под Варианты лучше создавать отдельные страницы.
Отредактировано Deff (Ср, 18 Сен 2013 17:00:27)
Обновилось - но не лучше...
Еще раз - скрипт лучше единственный и вынести сss и шаблон HTML, отделить от HTML сложнодобавки и вставлять их скриптом по пользовательскому условию
Двойной скрипт не катит
Отредактировано Deff (Ср, 18 Сен 2013 17:04:19)
У меня пока не изменилось:
Страницы кешируются провайдером
Тогда подождем, но у меня визуально скорость загрузки увеличилась раза в два...
Хотел спросить можно ужать меню:
<!--Меню--> <div id="wrapper"> <div id="nav"> <ul class="main"> <li id="menu_portal"></li> <li id="menu_forum"> <ul class="sub" id="sub_forum"></ul> </li> <li id="menu_user"><a id="menu_user_naz" href="/userlist.php"></a> <ul id="users" class="sub"></ul> </li> <li><a id="navprofile1" href="#"></a> <ul class="sub"> <li><a id="navprofile2" href="#"></a> <li><a id="navprofile3" href="#"></a> <li><a id="navprofile4" href="#"></a> <li><a id="navprofile5" href="#"></a> <li><a id="navprofile6" href="#"></a> <li><a id="navprofile7" href="#"></a> <li><a id="navprofile8" href="#"></a> <li><a id="navprofile9" href="#"></a> </ul> </li> <li class="fr"><a href="#">Цвет меню</a> <ul class="sub_rt"> <li><a href="#" alt="st_red" onclick="setColor(this);return false">Красный</a></li> <li><a href="#" alt="st_blue" onclick="setColor(this);return false">Голубой</a></li> <li><a href="#" alt="st_chocolate" onclick="setColor(this);return false">Шоколодный</a></li> <li><a href="#" alt="st_gray" onclick="setColor(this);return false">Серый</a></li> <li><a href="#" alt="st_green" onclick="setColor(this);return false">Зеленый</a></li> <li><a href="#" alt="st_orange" onclick="setColor(this);return false">Оранжевый</a></li> <li><a href="#" alt="st_violet" onclick="setColor(this);return false">Фиолетовый</a></li> </ul> </li> <li class="fr"><a id="log" href="#"></a> <ul class="sub_rt"> <li id="formal" class="form"> </li> </ul> <li class="fr"><a id="vyhod" href="#"></a></li> </li> <li class="fr"><a href="#">Поиск</a> <ul class="sub_rt"> <li class="form"> <form id="punbbsearch" class="container" method="get" action="/search.php"> <input type="hidden" name="action" value="search"> <input class="search" type="text" id="fld1" name="keywords" placeholder="Search..."/> <button class="searchbtn" type="submit" name="search" accesskey="s" title="Найти">Search</button> </form> </li> <li style="width: 180px;"><a href="/search.php">Подробный поиск</a></li> </ul> </li> <li class="fr"><a id="navpmA" href="#"></a> <ul class="sub_rt"> <li><a href="#">Папки</a><span class="leftarrow"></span> <ul class="sub_2nd_rt"> <li><a id="navpm0" href="#"></a></li> <li><a id="navpm1" href="#"></a></li> </ul> </li> <li><a href="#">Действия</a><span class="leftarrow"></span> <ul class="sub_2nd_rt"> <li><a id="navpm2" href="#"></a></li> <li><a id="navpm3" href="#"></a></li> </ul> </li> </li> </ul> <iframe id="login-in" style="height:1px;width:1px;position:absolute;z-index:-100" name="potal_frame"></iframe> </div> </div> <!--Конец Меню-->
Видишь какой здоровый, лучше конечно было бы: <div id='какое нить ИД'></div> , или это только увеличит время загрузки?
Да и пагинатор бы хорошо тоже ужать:
<!--Новости с Пагинатором--> <div id='paging_container1' class='container'> <div class='page_navigation'></div> <div class='content'> <div id="bib1"></div> <div id="bib2"></div> <div id="bib3"></div> <div id="bib4"></div> <div id="bib5"></div> <div id="bib6"></div> <div id="bib7"></div> <div id="bib8"></div> <div id="bib9"></div> <div id="bib10"></div> </div> <div class='page_navigation'></div> </div> <!--Конец Новости с Пагинатором-->
Отредактировано kolobdur74 (Ср, 18 Сен 2013 17:08:04)
Хотел спросить можно ужать меню:
вставлять HTML на страницу только крупные секции,
мелочи - вставлять скриптом по условию пользователя;
function content(){ /*==123==;
<li id="menu_portal"></li>
<li id="menu_forum">
<ul class="sub" id="sub_forum"></ul>
</li>
<li id="menu_user"><a id="menu_user_naz" href="/userlist.php"></a>
<ul id="users" class="sub"></ul>
</li>
<li><a id="navprofile1" href="#"></a>
<ul class="sub">
<li><a id="navprofile2" href="#"></a>
<li><a id="navprofile3" href="#"></a>
<li><a id="navprofile4" href="#"></a>
<li><a id="navprofile5" href="#"></a>
<li><a id="navprofile6" href="#"></a>
<li><a id="navprofile7" href="#"></a>
<li><a id="navprofile8" href="#"></a>
<li><a id="navprofile9" href="#"></a>
</ul>
</li>
==123==;*/
} content = content.toString().split('==123==;')[1];
if(Условие вставки) {$('#nav').append(content);}function content(){ /*==123==;
<li id="menu_portal"></li>
<li id="menu_forum">
<ul class="sub" id="sub_forum"></ul>
</li>
<li id="menu_user"><a id="menu_user_naz" href="/userlist.php"></a>
<ul id="users" class="sub"></ul>
</li>
<li><a id="navprofile1" href="#"></a>
<ul class="sub">
<li><a id="navprofile2" href="#"></a>
<li><a id="navprofile3" href="#"></a>
<li><a id="navprofile4" href="#"></a>
<li><a id="navprofile5" href="#"></a>
<li><a id="navprofile6" href="#"></a>
<li><a id="navprofile7" href="#"></a>
<li><a id="navprofile8" href="#"></a>
<li><a id="navprofile9" href="#"></a>
</ul>
</li>
==123==;*/
} content = content.toString().split('==123==;')[1];
if(Условие вставки) {$('#nav').append(content);}
li
Отредактировано Deff (Ср, 18 Сен 2013 17:31:31)
вставлять HTML на страницу только крупные секции,
мелочи - вставлять скриптом по условию пользователя
Я немного не это имел ввиду..Если НТМЛ вставлять на страницу отдельно, то лучше всего было бы, чтобы код был как можно меньше, то есть желательно привести к такому виду:
<!--Таблица Портала-->
<div class='tablica'>
<table id='portal' class='tab_portal' cellpadding='0' cellspacing='0'>
<tr>
<td class='shapka' style='white-space:nowrap' colspan='3'><div class='name_portal'></div></td>
</tr>
<tr>
<td colspan='3'>
<!--Дата-->
<span id="clock" style="float: right;position:relative;margin-right:25px;margin-bottom:10px;text-shadow:#20B2AA -1px -1px 0, #00BFFF 1px 1px 0;font-size:12px;background: transparent;color:#6391A1;font-weight:600;font-family:Verdana;"> </span>
<!--Конец Дата-->
</td>
</tr>
<tr>
<td colspan='3'>
<!--Меню-->
<div id='Меню'></div>
<!--Конец Меню-->
</td>
</tr>
<tr>
<td class='left_block'>
<div id='content_left'></div>
</td>
<td class='center_block'>
<center>
<div style='width:100%'>
<div class='nov' id='name_ob'></div><br>
<div id='ob_nov' style='text-align:left;'></div>
<div class='nov'></h1>Новости</h1></div>
</div>
</center>
<!--Новости с Пагинатором-->
<div id='Новость'></div>
<!--Конец Новости с Пагинатором-->
</td>
<td class='right_block'>
<div id='content_right'></div>
</td>
</tr>
</table>
</div>
<div class='pun-break5'></div>
Тогда можно было бы сделать два вида конструкторов:
1) Это где НТМЛ и скрипты - одним файлом css вторым, и редактируется только файл css
2) Для тех, кто хочет более сложную таблицу вынести НТМЛ из скриптов на страницу, тогда редактируется файл css и НТМЛ..При чем в НТМЛ оперируют вставками как блоками..
kolobdur74
Должно быть прозрачнее
Элементы конструктора
1. секция
<div id="XXX" class=section><div class=container></div></div>
2. Таблица
<table layout=fixed width=100%>
<tr valign=top>
<td id=left-td></td>
<td id=center-td></td>
<td id=right-td></td>
</tr>
</table>
Далее - структура страницы:
cекция
cекциятаблица
cекция
cекция
Далее проверка наличия и вставка в секцию чего то
<div id="XXX" class=section><div class=container><li id=portal-name></li></div></div>
=========
if($('#portal-name').length) $('#portal-name').append(content)
Или другой Вариант:
Задание вставки чего либо переменной: (Задаем скриптом, заполняемым пользователем перед основным скриптом)
<script type="text/javascript">
var portalVariable = {} //объект наших переменных;portalVariable.portal_name = true; //Вставляем;
portalVariable.forum_name = false; //Не вставляем;
</script>
В скрипте самого портала
if(portalVariable.forum_name) $('#XXX > .container').append(content) //Тут контент вместе с обрамлением в <li id=forum_name> (или в <ul id=forum_name> ...
Отредактировано Deff (Ср, 18 Сен 2013 18:02:09)
Должно быть прозрачнее
Элементы конструктора
Ты предлагаешь секции вынести из таблицы, и вставлять их в таблицу через скрипт? А зачем? Я в таком виде буду путаться точно - что где стоит не видя визуально я точно не пойму, и думаю что не я один такой..
Отредактировано kolobdur74 (Ср, 18 Сен 2013 18:26:39)
Ты предлагаешь секции вынести из таблицы, и вставлять их в таблицу через скрипт? А зачем? Я в таком виде буду путаться точно - что где стоит не видя визуально я точно не пойму, и думаю что не я один такой..
я ж предложил варианты
1. Описываешь вставку в Юзер скрипте с комментом
2. Вставляешь в секцию нужный селектор общего обрамления вставки с понятным ID и русскоязычным alt
Ты предлагаешь секции вынести из таблицы, и вставлять их в таблицу через скрипт?
В основном многомелочи у тебя в навигации, так почему их не вставлять скриптом ?
А в табле вроде как и три ячейки всего, что там сильно неясного... ?
В среднюю - пагинатор и Онлайн редактор+ контент анонсов ручной вставки
Может для начала разрисовать схему шаблона на странице разноквадратами, проставив нужные селекторы для крупных панелей?
Это именно та карта, - которая и нужна Юзеру для конструктора.
Это именно тот путеводитель, с которого и начинают верстку
Отредактировано Deff (Ср, 18 Сен 2013 18:46:44)
В основном многомелочи у тебя в навигации, так почему их не вставлять скриптом ?
А в табле вроде как и три ячейки всего, что там сильно неясного... ?
В среднюю - пагинатор и Онлайн редактор+ контент анонсов ручной вставки
Тогда нет никакого смысла выносить таблицу на страницу - бо ты предлагаешь все зафиксировать - для чего нужен доступ до таблицы? Чтобы можно было секции в зависимости от дизайна вставлять в разные места таблицы, и менять саму таблицу, а для того, что описываешь достаточно использовать только файл css - не нужен тогда доступ к таблице, бо там итак выходит ничего нельзя изменить..
Кроме того, в посту 673 как раз и есть чистая таблица, только секции внутри нее, что дает возможность динамически переставлять секции, без этого - это уже не конструктор...И не три ячейки, а больше, бо ты забыл о шапке, в которую входят название, меню, и дата с часами, а это еще как минимум одна строка с одной ячейкой, в моем случае - три строки и три ячейки, бо это требовал дизайн - это и есть динамика...Согласен, что сами боковушки и новости фактически и так фиксированы - возможно их и стоит оформить в отдельную таблицу и спрятать к скриптам, а оставить только шапку...
Тогда нет никакого смысла выносить таблицу на страницу - бо ты предлагаешь все зафиксировать - для чего нужен доступ до таблицы? Чтобы можно было секции в зависимости от дизайна вставлять в разные места таблицы, и менять саму таблицу, а для того, что описываешь достаточно использовать только файл css - не нужен тогда доступ к таблице, бо там итак выходит ничего нельзя изменить..
Разрисуй карту селекторов с кратким описанием, как ты желаешь сделать - тогда будет ясен и метод: Как сделать
Можно сделать всё, зависит от времени и желаний
Отредактировано Deff (Ср, 18 Сен 2013 19:12:39)
Пока что этот самый быстрый http://testmods.mybb.ru/pages/portal
И по установке и по загрузке, нет смысла делать медленнее
Пока что этот самый быстрый http://testmods.mybb.ru/pages/portal
И по установке и по загрузке, нет смысла делать медленнее
Это да, но он под один стиль, чтобы поставить другой нужно приложить немало усилий и досконально знать как устроен портал..
Разрисуй карту селекторов с кратким описанием, как ты желаешь сделать - тогда будет ясен и метод: Как сделать
Они должны быть доступны для переноса в таблице портала:
<div class='name_portal'> - имя портала
<span id="clock"> - Дата/часы
<div id='Меню'></div> - Меню, только его еще надо сделать до такого вида..
<div class='nov' id='name_ob'></div> Название Анонса портала
<div id='ob_nov'></div> - Сами Анонсы
Я тут прикинул: самый оптимальный вариант - это вот этот: http://projekt1.bbmy.ru/pages/portal5 , то есть два js файла, но при этом падает скорость загрузки портала, остальные варианты добавляют лишние коды, что само по себе и усложняет и опять таки будет влиять на скорость загрузки.. Так что, походу идея конструктора провалилась - у меня нет мыслей как это можно и оптимизировать и сделать доступным..
Остается как рабочий вариант - это только вынос одного css отдельным файлом, но я теперь не уверен, что и это не повлияет сильно на скорость загрузки в худшую сторону..
Вы здесь » Единый форум поддержки » Новые возможности форумов » Создаем полноценный Портал на форумах MyBB!