![]() |
Небольшие статьи [html, Css, Js, Php]
В этой теме выкладывайте небольшие актуальные статьи по всем направлениям кодинга
|
Защищаем ссылки mailto
Защищаем ссылки mailto Автор: 15daysofjquery.comПеревод: Isis Защитить email адреса на своем сайте от спамеров легко с использованием AJAX. В данноме случае будем использовать библиотеку jQuery: http://www.jquery.com Пример с кнопкой. Без эффекта. Пример с ссылкой. Эффект выпадания. При загрузке страницы. Эффект выпадания. При загрузке страницы. Без эффекта. JS Код: Код:
$(document).ready(function(){Ответ выводится в <div id="email"></div> Тем самым никакой робот не выловит email, а пользователям не добавится сложности |
Решил поддержать нашего любимого Isis`a ;)
Выплывающее меню, скрипт откуда достал не помню но меню выплывает прикольно короче выглядит прикольно и можно подстроить под любой дизайн! Для полной работоспособности нужны картинки, которые вы можете поменять под свой дизайн! Вот сами файлы:http://rapidshare.com/files/118392597/menu.rar.html Скрипт выкладывать не вижу смысла, скрипт большой (имеется внутри архива) |
.png и експлорер
часто сталкивался во время верстки с проблемой отображения изображений формата .png (помоему только в нем можно сохранять полупрозрачные изображения) в Internet Explorer, собственно нашел фильтр с помошью которого можно решить эту проблему:
в css прописываем это: Код:
Код HTML:
|
jQuery:
[jquery] Создаем красивый просмотрщик галереи [jquery] Работаем с drag&drop (перемещение+сбрасыввание) .png и експлорер у jquery есть плагин phg_fix, я про него писал |
Цитата:
ну так замечательно если есть много вариантов=) |
Несколько полезных Css приемов
Несколько полезных CSS приемов:
Альтернатива NOBR Код HTML:
.nobr{white-space:nowrap;}Код HTML:
<style type="text/css">Код HTML:
hr {Код HTML:
table.table1, table.table1 td {Код HTML:
form {Код HTML:
body { |
Цитата:
после нуля нада указывать в чем измерЯешь - "px" , так грамотнее |
Корвин
Какая разница в чем? Все равно ведь 0. Я так всегда пишу. |
ну у каждого свое мнение, я высказал свое, нафлудили тут....
|
Цитата:
Если хочешь, можем тут поспорить. //Машка ;-) |
В таких вопросах надо полагаться на спецификацию, которая гласит:
Цитата:
|
Цитата:
|
Цитата:
Кроме того есть еще т.н. quirks mode (популянро читаем тут и тут), который способен убить много нервных клеток в организме горе-верстальщика, не указавшего величину измерения. Отcюда вывод - единицы измерения ставим обязательно, хотя бы ради того, чтобы тыблицы стилец были красивыми и читаемыми. ЗЫ: а по поводу мнимой экономии траффика - единицы измерения ничего не решают. Решает сжатие файла - как структурное (убрать whitespace), так и физическое (gzip) |
я же сразу написал что у каждого свое мнение, и спорить тут можно вечно , все равно каждый будет по своему делать=)
|
Подключаем нестандартные шрифты.
Для того, чтобы подгрузить нестандартный шрифт на веб-странцу нужно сделать следующее.
Первое установить специальную программу которая преобразует ttf в eot формат, что позволит нам потом подключить его в css. (программа тут). После установки запускаем программу и затем tools->font to embed и добавляем шрифты которые хотим конвертировать (замечание: не все шрифты можно конвертить). Затем на панели меню (главное окно) ищим кнопку "Embed" (сразу пере ) "help". Появляется окошко в котором указываем путь куда будет сохранен файл, указываем ссылку для какой страницы будет использоваться фонт, и ставим галочку показать сразу css в итоге получаем Код:
<STYLE TYPE="text/css"> В целом что этой штукой нужно пользоваться очень осторожно и в крайне редких случаях. |
life_is_shit угу... только здесь встает очень резонный вопрос об авторских правах =) Ибо почти все нормальные шрифты требуют отчислений - а на свободнораспросьтраняемые без слез не глянешь.
|
задачи разные бывают=) и среди свободных нормальные есть.
|
Цитата:
|
Не то чтобы статья..... но вот такую я написал css-ку для резки рекламы на nnm.ru
Цитата:
ОБНОВИЛ |
css свойства в javascript (сама таблица)
например, для изменения стиля другого объекта средством js Код HTML:
<script language="javascript"> |
Взаимодействие JavaScript с CSS
Взаимодействие JavaScript с CSS
background Доступ: Чтение/Изменение Атрибут элемента CSS background . Обозначенное свойство состоит из строки разграниченных пространством значений для свойств backgroundAttachment, backgroundColor, backgroundImage, backgroundPosition, и backgroundRepeat . Может быть одно или более значение background , и значения могут идти в любом порядке. Пример: Код HTML:
document.all.tags("DIV").style.background = "url(logo.gif) repeat-y"Значение по умолчанию: Ничего. backgroundAttachment Доступ: Чтение/Изменение Устанавливает, как изображение "сопоставлено" с элементом. Изображение может или оставаться неподвижным в пределах просматриваемой области (области просмотра) или может прокручиваться с элементом, если документ большой. Пример: Код HTML:
document.all.tags("DIV").style.backgroundAttachment = "fixed"Значение по умолчанию: scroll backgroundColor Доступ: Чтение/Изменение Цвет фона элемента. Если Вы также устанавливаете backgroundImage, изображение будет поверх цвета. Прозрачные пикселы изображения позволяют цвету проглядываться через него. Пример: Код HTML:
document.all.highlighted.style.backgroundColor = "yellow"Значение по умолчанию: Ничего. backgroundImage Доступ: Чтение/Изменение URL фонового изображения элемента. Если Вы также устанавливаете backgroundColor, изображение будет поверх цвета.Прозрачные пикселы изображения позволяют цвету проглядываться через него. Пример: Код HTML:
document.all.navbar.style.backgroundImage = "images/navVisited.jpg"Значение по умолчанию: Ничего. backgroundPosition Доступ: Чтение/Изменение Местоположение фонового изображения относительно области элемента (плюс дополнение). Это свойство должным образом не реализовано в Internet Explorer 4 для Macintosh. Пример: Код HTML:
document.all.div3.style.backgroundPosition = "20 50"Значение по умолчанию: 0% 0% backgroundPositionX, backgroundPositionY Доступ: Чтение/Изменение Top и left местоположения фонового изображения относительно области элемента (плюс дополнение). Эти свойства не реализованы должным образом в Internet Explorer 4 для Macintosh. Пример: Код HTML:
document.all.div3.style.backgroundPositionX = "20" document.all.table2.style.backgroundPositionY = "10"Значение по умолчанию: 0 backgroundRepeat Доступ: Чтение/Изменение Должно ли фоновое изображение (указанное свойством backgroundImage ) повторяться и, если так,то по какой оси. Вы можете использовать повторяющиеся фоновые изображения, чтобы создать горизонтальные и вертикальные полосы с некоторыми параметрами настройки. Пример: Код HTML:
document.all.div3.style.backgroundRepeat = "repeat-y"Значение по умолчанию: repeat border Доступ: Чтение/Изменение Свойство для получения или установки свойств borderColor, borderStyle и/или borderWidth изо всех четырех границ вокруг элемента в одной инструкции. Вы должны определить стиль границы (см. borderStyle) для изменения этого свойства, чтобы затронуть границы элемента. Другие свойства позволяют Вам устанавливать ширину, стиль и цвет границ или их групп, если Вы не хотите, чтобы все четыре границы были одинаковыми. Только параметры настройки, явно указанные в атрибутах тэга, отражены в свойстве, но Вы можете назначать компоненты не как часть первоначального тэга. Пример: Код HTML:
document.all.announce.style.border = "inset red 4px"Значение по умолчанию: Ничего. borderRight, borderTop Доступ: Чтение/Изменение Свойство для получения или установки свойств borderColor, borderStyle и/или borderWidth для отдельного края элемента в одной инструкции. Вы должны определить стиль границы (см. borderStyle) для изменения этого свойства, чтобы затронуть границы элемента. Если Вы хотите, чтобы все четыре грани были одинаковыми, см. атрибут границы. Только параметры настройки, явно указанные в атрибутах тэга, отражены в свойстве, но Вы можете назначать компоненты не как часть первоначального тэга. Пример: Код HTML:
document.all.announce.style.borderBottom = "inset red 4px" document.all.announce.style.borderLeft = "solid #20ff00 2px" document.all.announce.style.borderRight = "double 3px" document.all.announce.style.borderTop = "outset red 8px"Значение по умолчанию: Ничего. borderBottomColor, borderLeftColor, borderRightColor, borderTopColor Доступ: Чтение/Изменение Цвет одного края границы элемента. Пример: Код HTML:
document.all.announce.style.borderBottomColor = "red"borderBottomStyle, borderLeftStyle, borderRightStyle, borderTopStyle Доступ: Чтение/Изменение Тип линии одного края границы элемента. Пример: Код HTML:
document.all.announce.style.borderBottomStyle = "groove"Значение по умолчанию: Ничего. borderBottomWidth, borderLeftWidth, borderRightWidth, borderTopWidth Доступ: Чтение/Изменение Ширина одного края границы элемента. См. также свойство borderWidth. Пример: Код HTML:
document.all.announce.style.borderBottomWidth= "thin"Значение по умолчанию: medium borderColor Доступ: Чтение/Изменение Цвет края границы Пример: Код HTML:
document.all.announce.style.borderColor = "red"Значение по умолчанию: Цвет объекта (если установлен). borderStyle Доступ: Чтение/Изменение Свойство которое позволяет Вам устанавливать один или несколько стилей границы. Для Internet Explorer Вы можете установить до 4 значений стиля (через пробел). Число значений определяет какие стороны получают назначенные цвета. Пример: Код HTML:
document.all.announce.style.borderStyle = "solid"Значение по умолчанию: Ничего borderWidth Доступ: Чтение/Изменение Shortcut-свойство , которое позволяет Вам устанавливать ширину границы. Для Internet Explorer Вы можете установить 4 значения ширины через пробел (Навигатор 4 - свойство только для чтения). Число значений определяет, какие из сторон получат назначенные размеры. Пример: Код HTML:
document.all.founderQuote.style.borderWidth = "3px 5px"Значение по умолчанию: medium clear Доступ: Чтение/Изменение Определяет, позволяет ли себе элемент быть отображенным в той же самой горизонтальной полосе как float элемент. Обычно рядом другой элемент имеет атрибут стиля float, установленный на left или right. Чтобы предотвратить перекрытие элементов, установите явно это свойство на ту же самую сторону (left или right). Если Вы не уверены, где могло бы происходить перекрытие, установите свойство явно на оба элемента. Элемент, чьё свойство явно установлено на значение, отличное от 0, представлен в начале строки ниже плавающего элемента. Пример: Код HTML:
document.all.myDiv.style.clear = "both"Значение по умолчанию: Ничего clip Доступ: Чтение/Изменение Определяет область отсечения элемента. Область отсечения - область слоя элемента, в которой он видим. Отсечение может не работать должным образом в Internet Explorer 4 для Macintosh. Пример: Код HTML:
document.all.art2.style.clip = "rect(5px 100px 40px 0)"Значение по умолчанию: Ничего. color Доступ: Чтение/Изменение Устанавливает приоритетный CSS атрибут цвета (текста).Можно устанавливать атрибут и для графических элементов, но все браузеры будут реализовывать это по разному. Пример: Код HTML:
document.all.specialDiv.style.color = "green"Значение по умолчанию: black cssText Доступ: Только чтение Возвращает строку полного правила CSS , приложенного к элементу. Если правило включало параметры настройки атрибута стиля shorthand (типа border), компоненты для каждой из этих четырех сторон записаны по буквами. Например, если Вы устанавливаете атрибут элемента STYLE как STYLE = " border: groove red 3px", cssText возвратит: BORDER-TOP: 3px groove red; BORDER-RIGHT: 3px groove red; BORDER-BOTTOM: 3px groove red; BORDER-LEFT: 3px groove red Однако Вы можете назначить свойство на значение shorthand. Пример: Код HTML:
document.all.block3.style.cssText = "margin: 2px; font-size: 14pt"Значение по умолчанию: Ничего. cursor Доступ: Чтение/Изменение Форма курсора, когда он над элементом. Точный вид курсоров зависит от операционной системы.Свойство затрагивает курсор, только когда он над текущим элементом. Пример: Код HTML:
if (event.altKey) { event.sourceElement.style.cursor = "help" }Значение по умолчанию: auto display Доступ: Чтение/Изменение Должен ли элемент быть представлен в документе. Когда установлено none, элемент скрыт, и окружающее содержание заполняет пространство; когда установлено на "" (или любое другое значение), элемент отображен. Пример: Код HTML:
document.all.instructionDiv.style.display = ""Значение по умолчанию: Ничего. filter Доступ: Чтение/Изменение Устанавливает визуальный фильтр. Визуальный фильтр может применяться к элементу, чтобы произвести эффекты типа зеркального отражения , жара, тени, и многих другие. Показанный фильтр применяется к элементу, когда его видимость изменяется. Это включает эффекты типа wipes, blinds и barn doors. Свойство filter доступно в Internet Explorer 4, но не работает в версии Macintosh. Пример: Код HTML:
document.all.fancy.style.filter= "dropshadow( )"Значение по умолчанию: Ничего. font Доступ: Чтение/Изменение Свойство shorthand, которое позволяет Вам устанавливать одно или более связанное с шрифтом свойство (fontFamily, fontSize, fontVariant, и fontWeight) с одним оператором присваивания "=". Список разграниченных пробелом значений (в любой последовательности) применяется к определенным свойствам шрифта, для которых значение является имеющим силу типом. Пример: Код HTML:
document.all.subhead.style.font = "bolder small-caps 16pt"Значение по умолчанию: Ничего. fontFamily Доступ: Чтение/Изменение Расположенный по приоритетам список используемых шрифтов. Пример: Код HTML:
document.all.subhead.style.fontFamily = "'Century Schoolbook' Times serif"Значение по умолчанию: По умолчанию для броузера. fontSize Доступ: Чтение/Изменение Размер шрифта элемента. Размер шрифта может быть установлен несколькими способами. Коллекция констант (xx-small, x-small, small, medium, large, x-large, xx-large) определяет то, что известно как абсолютные размеры. Другие коллекции констант (larger, smaller) известны как относительные размеры. Наконец, Вы можете устанавливать fontSize в процентах, которые основаны на размере размера шрифта родительского элемента. Пример: Код HTML:
document.all.teeny.style.fontSize = "x-small"Значение по умолчанию: Размер шрифта родительского элемента. fontSizeAdjust Доступ: Чтение/Изменение Контролирует значение длины вторичного семейства шрифтов так, чтобы его символы имели ту же высоту, что и символы основного семейства шрифтов. Пример: Код HTML:
document.all.teeny.style.fontSizeAdjust = "1.05"Значение по умолчанию: none fontStretch Доступ: Чтение/Изменение Контролирует ширину симвлов шрифта при отображении Пример: Код HTML:
document.all.teeny.style.fontStretch = "expanded"Значение по умолчанию: none fontStyle Доступ: Чтение/Изменение Представлен ли элемент как normal, italic или oblique. Если fontFamily включает типы шрифта, помеченные как Italic и/или Oblique, установка атрибута fontStyle вызывает эти специфические типы шрифта.Но если специализированные типы шрифта не доступны в системе, normal тип шрифта обычно изначально выглядит курсивным. Страница, посланная на печать с такими параметрами настройки шрифта полагается на хорошую согласованность между клиентским компьютером и принтером, чтобы выполнить на аппаратном уровне сгенерированное курсивное начертание шрифта. Пример: Код HTML:
document.all.emphasis.style.fontStyle= "italic"Значение по умолчанию: Ничего. |
fontVariant
Доступ: Чтение/Изменение Преобразует текст как нормальный/ нижний регистр Пример: Код HTML:
document.all.emphasis.style.fontVariant = "small-caps"Значение по умолчанию: normal fontWeight Доступ: Чтение/Изменение Устанавливает жирность шрифта элемента. CSS обеспечивает(предусматрив ет) схему оценки жирности, которая является более градуированной, чем большинство броузеров показывает на экране, но точно настроенные жирности могут входить как параметры, когда содержание послано принтеру. Масштаб - числовая оценка от 100 до 900 в приращениях с модулем 100. Поэтому fontWeight 100 был бы наименее полужирный, который будет отображен, в то время как 900 был бы наиболее полужирный. Установка нормали (задана по умолчанию для любого шрифта) эквивалентна значению fontWeight 400; стандартная полужирная установка эквивалентна 700. Другие параметры настройки (bolder и lighter) позволяют Вам установить жирность относительно жирности родительского элемента. Пример: Код HTML:
document.all.hotStuff.style.fontWeight = "bold"Значение по умолчанию: normal height, width Доступ: Чтение/Изменение Высота и ширина (и их модули) элемента. Поскольку значения - строки, содержащие постоянные значения, Вы не можете использовать эти свойства для вычисления. См. pixelHeight, pixelWidth, posHeight, и posWidth . Пример: Код HTML:
document.all.viewArea.style.height = "450px"Значение по умолчанию: Ничего. left Доступ: Чтение/Изменение Для отображаемых элементов, определяет позицию левого края элемента. Для вычислений на этом значении, восстановите pixelLeft или posLeft свойства, которые возвращают подлинные числовые значения. Пример: Код HTML:
document.all.blockD2.style.left = "45px"Значение по умолчанию: auto letterSpacing Доступ: Чтение/Изменение Интервал между символами в пределах элемента. Пример: Код HTML:
document.body.style.letterSpacing = "1.1em"Значение по умолчанию: normal lineBreak Доступ: Чтение/Изменение Контролирует правило разрыва для текстового содержимого на японском языке. Пример: Код HTML:
document.body.style.lineBreak = "strict"Значение по умолчанию: normal lineHeight Доступ: Чтение/Изменение Высота встроенного поля (поле, содержащее одну строку). Пример: Код HTML:
document.all.tight.style.lineHeight = "1.1em"Значение по умолчанию: normal listStyle Доступ: Чтение/Изменение Свойство shorthand для установки 3 свойств списка в одном операторе присваивания. Атрибуты, которые Вы явно не устанавливаете с этим атрибутом, принимают значения по умолчанию. Эти свойства определяют характеристики вида маркеров, автоматически закреплённых за пунктами списка внутри OL и UL элементов. Пример: Код HTML:
document.all.itemList.style.listStyle = "square outside none"Значение по умолчанию: Ничего. listStyleImage Доступ: Чтение/Изменение URL для изображения, которое должно использоваться как маркер перед пунктом списка. Поскольку этот атрибут может быть унаследован, установка (включая none) за 1 пунктом списка может отменить тот же самый атрибут или установку свойства в ее родителе. Пример: Код HTML:
document.all.itemList.style.listStyleImage = "images/3DBullet.gif"Значение по умолчанию: Ничего listStylePosition Доступ: Чтение/Изменение Находится ли маркер внутри или вне (outdented) поля, содержащего пункта списка. Когда listStylePosition установлен на inside, и содержание - текст, маркер оказывается частью текстового блока. В этом случае, отступ пункта списка - как normal, но без outdented маркера. Пример: Код HTML:
document.all.itemList.style.listStylePosition = "inside"Значение по умолчанию: outside listStyleType Доступ: Чтение/Изменение Тип маркера пункта, который будет отображен с каждым пунктом. Этот атрибут применяется, только если listStyleImage - none (или не указанный). Константы, доступные для этого атрибута, разделены на две категории. Один набор используется с UL элементами, чтобы представить заполненный круг, пустой круг или квадрат (пустой на Macintosh, заполненый на Windows); другой набор - для элементов OL, чьи пункты списка могут быть отмечены в последовательностях арабских цифр, римских цифр (верхний регистр или нижний регистр), или символов алфавита (верхний регистр или нижний регистр). Пример: Код HTML:
document.all.itemList.style.listStyleType = "circle"decimal 1, 2, 3, ... lower-alpha a, b, c, ... lower-roman i, ii, iii, ... upper-alpha A, B, C, ... upper-roman I, II, III, ... Значение по умолчанию: disc (для UL); decimal (для OL). margin Доступ: Чтение/Изменение Свойство shortcut, которое может устанавливать размеры краёв 4 граней элемента одной инструкцией. Margin - пространство, которое простирается вне границы элемента. Чтобы обеспечить дополнительное пространство, margin освобождает пространство между смежными или вложенными элементами, (особенно теми, которые имеют набор атрибутов border). Вы можете установить 4 значения, разграниченных пробелом. Число значений определяет, какие стороны получают назначенные установки. Пример: Код HTML:
document.all.logoWrapper.style.margin = "5px 8px"Значение по умолчанию: 0 marginRight, marginTop Доступ: Чтение/Изменение Все четыре свойства устанавливают ширину отдельного края края элемента. Край - пространство, который простирается вне границы элемента и не рассчитывается как часть ширины элемента или высоты. Пример: Код HTML:
document.all.logoWrapper.style.marginTop = "5px" document.all.navPanel.style.marginLeft = "10%"Значение по умолчанию: 0 overflow Доступ: Чтение/Изменение Как элемент должен обработать содержание, в соответствии с правилами CSS. Пример: Код HTML:
document.all.myDiv.style.overflow = "scroll"Значение по умолчанию: visible padding Доступ: Чтение/Изменение Свойство shortcut, которое может устанавливать дополнительные размеры до четырех граней элемента с одной инструкцией.Padding - пространство , которое простирается вокруг элемента, но не включает границу, которая может быть определена для элемента. Padding подбирает фоновое изображение или цвет его элемента. Поскольку Вы добавляете дополнение к элементу, Вы увеличиваете размер видимого прямоугольника элемента без воздействия на размер блока padding. Вы можете установить 1 из 4 разграниченное пробелом, значения padding. Пример: Код HTML:
document.all.logoWrapper.style.padding = "3px 5px"Значение по умолчанию: 0 paddingRight, paddingTop Доступ: Чтение/Изменение Все четыре свойства устанавливают ширину единственного(отдельного) дополнительного края элемента. - пространство Padding, который простирается между границей элемента и полем содержания. Пример: Код HTML:
document.all.logoWrapper.style.paddingTop = "3px" document.all.navPanel.style.paddingLeft = "10%"Значение по умолчанию: 0 pageBreakAfter, pageBreakBefore Доступ: Чтение/Изменение Определяет, как должен обработаться разрыв страниц вокруг элемента, когда документ послан на принтер. Разрывы страниц не представлены в броузере, поскольку они могут быть в программах обработки текстов. Пример: Код HTML:
document.all.hardBR.style.pageBreakAfter = "always" document.all.navPanel.style.paddingLeft = "10%"Значение по умолчанию: auto pixelHeight, pixelWidth Доступ: Чтение/Изменение Высота и ширина элемента в пикселах. Используйте эти свойства для вычисления (вместо свойств типа высоты и ширины, которые возвращают строки, включая модули). Пример: Код HTML:
var midWidth = document.all.myDIV.style.pixelWidth/2Значение по умолчанию: Ничего. pixelLeft, pixelTop Доступ: Чтение/Изменение Для отображаемых элементов, определяет позицию left и top граней элемента (content plus left padding, border, and/or margin) относительно left и top граней следующего наиболее близкого элемента. Пример: Код HTML:
document.all.myDIV.style.pixelLeft++Значение по умолчанию: Ничего. posHeight, posWidth Доступ: Чтение/Изменение Числовая высота и ширина элемента. Пример: Код HTML:
document.all.myDIV.style.posWidth = 10.5Значение по умолчанию: Ничего. position Доступ: Только чтение For positionable elements, returns the value assigned to the style sheet position attribute. Пример: Код HTML:
var posType = document.all.myDIV.style.positionЗначение по умолчанию: Ничего. posLeft, posTop Доступ: Чтение/Изменение For positionable elements, define the position of the left and top edges of an element's box (content plus left padding, border, and/or margin) relative to the left and top edges of the next outermost block content container. When the element is relative-positioned, the measure is based on the left edge of the inline location of where the element would normally appear in the content. Most importantly, these properties' values are numeric and in the unit of measure set in the CSS attribute. Use these properties for calculation (including path animation) instead of the left and top properties, which store their values as strings with the unit names. All math is in the specified units. Also contrast these properties with the pixelLeft and pixelTop properties, which are integer values for pixel measures only. Пример: Код HTML:
document.all.myDIV.style.posLeft = document.all.myDIV.style.posLeft + 1.5Значение по умолчанию: Ничего. quotes Доступ: Чтение/Изменение Устанавливает символы, использующиеся в качестве кавычек. Пример: Код HTML:
document.all.myText.style.quotes = "« »"Значение по умолчанию: inherit. rubyAlign Доступ: Чтение/Изменение Устанавливает выравнивание "рубинового" текста элемента RUBY Пример: Код HTML:
document.all.myText.style.rubyAlign = "distribute-letter"Значение по умолчанию: inherit. rubyOverhang Доступ: Чтение/Изменение Устанавливает отступ "рубинового" текста элемента RUBY Пример: Код HTML:
document.all.myText.style.rubyOverhang = "whitespace"Значение по умолчанию: none. rubyPosition Доступ: Чтение/Изменение Устанавливает расположение "рубинового" текста элемента RUBY относительно основного текста. Пример: Код HTML:
document.all.myText.style.rubyPosition = "inline"Значение по умолчанию: above styleFloat Доступ: Чтение/Изменение С какой стороны элемент обтекается текстом. Пример: Код HTML:
document.all.myDIV.style.styleFloat = "right"Значение по умолчанию: Ничего. textAlign Доступ: Чтение/Изменение [I]Определяет горизонтальное выравнивание текста в пределах элемента./[I] Пример: Код HTML:
document.all.myDIV.style.textAlign = "right"Значение по умолчанию: left textAlignLast Доступ: Чтение/Изменение Определяет горизонтальное выравнивание последней строки каждого абзаца. Пример: Код HTML:
document.all.myText.style.textAlign = "right"Значение по умолчанию: left textAutospace Доступ: Чтение/Изменение Определяет дополнительные пробелы между идеографическими и не идеографическими символами. Пример: Код HTML:
document.all.myText.style.textAutospace = "ideograph-alpha"Значение по умолчанию: none textDecoration Доступ: Чтение/Изменение Определяет добавления к текстовому содержанию элемента в форме подчеркиваний, перечёркиваний, надчёркиваний, и (в Навигаторе и CSS) мигание. Вы можете определить больше чем один стиль художественного оформления, поставляя значения в списке через пробел. В то время как Internet Explorer 4 поддерживает blink значение, это не мигающий текст. Текстовое художественное оформление имеет необычные родительские-дочерние отношения. Значения не наследуются, но эффект художественного оформления передается ко вложенным элементам. Поэтому, если иначе не переопределено, подчеркнутый P элемент подчеркивает вложенный B элемент. Internet Explorer также включает свойства для каждого типа художественного оформления. Пример: Код HTML:
document.all.emphasis.style.textDecoration = "underline"Значение по умолчанию: Ничего. textDecoration, textDecorationBlink, textDecorationLineThrough, textDecorationNone, textDecorationOverline, textDecorationUnderline Доступ: Чтение/Изменение Определено ли всё вышеперечисленное для указанного текстового элемента. Пример: Код HTML:
document.all.emphasis.style.textDecorationLineThrough = "true"Значение по умолчанию: false textIndent Доступ: Чтение/Изменение Размер выравнивания первой строки блока встроенного текста (типа P элемента). Только на первую строку воздействует эта установка. Пример: Код HTML:
document.all.firstGraph.style.textIndent = "0.5em"Значение по умолчанию: Ничего textJustify Доступ: Чтение/Изменение Контролирует дополнительные отступы для элемента, свойство textAlign которого равно Justify Пример: Код HTML:
document.all.firstGraph.style.textJustify = "distribute"Значение по умолчанию: Ничего textJustifyTrim Доступ: Чтение/Изменение Для использования в будущем textKashidaSpace Доступ: Чтение/Изменение Контролирует соотношение расширения протяжки и расширения пробелов для арабских систем письма Пример: Код HTML:
ссылка_на_элемент.style.textKashidaSpace = "90%"Значение по умолчанию: Ничего. |
textShadow
Доступ: Чтение/Изменение Контролирует отображение тени вокруг элементов текста. Атрибут стиля для этого свойства не поддерживается в IE5/Mac и NN6, однако данное свойство присуще объекту style. Возвращаемое значение: Каждая спецификация тени состоит из цвета по выбору и 3 разделённых пробелами значений длины (горизонтальное смещение тени, вертикальное смещение тени, радиус тени). Множественные значения разделяются запятыми. Значение по умолчанию: Ничего. textTransform Доступ: Чтение/Изменение Управляет преобразованием букв текста элемента в прописные. Пример: Код HTML:
document.all.heading.style.textTransform = "capitalize"Значение по умолчанию: Ничего. textUnderlinePosition Доступ: Чтение/Изменение Расположение линии в подчёркнутом начертании - над текстом или под текстом Пример: Код HTML:
ссылка_на_элемент.style.textUnderlinePosition = "above"Значение по умолчанию: Ничего. top Доступ: Чтение/Изменение Для отображаемых элементов, определяет позицию высшего края поля элемента (содержание плюс top padding, border, и/или margin) относительно высшего края следующего наиболее близкого элемента. Для вычислений на этом значении, отыщите pixelTop или posTop свойства, которые возвращают подлинные числовые значения. Пример: Код HTML:
document.all.blockD2.style.top = "40px"Значение по умолчанию: auto unicodeBidi Доступ: Чтение/Изменение В двунаправленом тексте - насколько блок текста, направленный в противоположную сторону, вложен во внешний элемент. Пример: Код HTML:
ссылка_на_элемент.style.unicodeBidi = "normal"Значение по умолчанию: normal. verticalAlign Доступ: Чтение/Изменение Характеристика вертикального выравнивания элемента. Пример: Код HTML:
document.all.myDIV.style.verticalAlign = "text-top"Значение по умолчанию: baseline visibility Доступ: Чтение/Изменение Видимость элемента. Окружение содержания не закрывает левый пробел элемента, чьё свойство видимости установлено в hidden. Пример: Код HTML:
document.all.myDIV.style.visibility = "hidden"Значение по умолчанию: inherit whiteSpace Доступ: Чтение/Изменение Контролирует интерпретацию символов пробела в коде источника элемента Пример: Код HTML:
ссылка_на_элемент.style.whiteSpace = "nowrap"Значение по умолчанию: normal wordBreak Доступ: Чтение/Изменение Контролирует характеристики разрыва слова, содержащего как латинские, так и азиатские символы Пример: Код HTML:
ссылка_на_элемент.style.wordBreak = "normal"Значение по умолчанию: normal wordSpacing Доступ: Чтение/Изменение Контролирует расстояние между словами Пример: Код HTML:
ссылка_на_элемент.style.wordSpacing = "normal"Значение по умолчанию: normal wordWrap Доступ: Чтение/Изменение Контролирует характеристики перехода слова на новую строку в ьлоковом элементе текста, элементе с внутренне определёнными размерами или позиционируемом элементе Пример: Код HTML:
ссылка_на_элемент.style.wordWrap = "normal"Значение по умолчанию: normal writingMode Доступ: Чтение/Изменение Контролирует направление потока содержимого web-страницы (слева-направо/сверху-вниз или сверху-вниз/справа-налево, как в некоторых азиатских языках) Пример: Код HTML:
ссылка_на_элемент.style.writingMode = "tb-rl"Значение по умолчанию: lr-tb zIndex Доступ: Чтение/Изменение Положение в списке относительно других элементов в пределах того же самого родительского контейнера. Пример: Код HTML:
document.all.myDIV.style.zIndex = 3Значение по умолчанию: 0 |
--:[ Название : Socks5 изучение продолжается:BIND ]:--
--:[ Автор : Jinn, ZaeB.uS, _http://zaeb.us ]:-- o--:[ 1 | Введение ]:--o Вот решил написать еще одну статью на тему соксов, некоторые личности скажут:"Вот понаписал статей, мог бы все в одной изложить!", объясню мою точку зрения на данную проблему: я считаю, что если бы весь этот материал(с первой статьи по текущую) содержался в одной статье, то статья бы получилась довольно большой и сложной для понимания! В этот раз рассмотрим метод не connect как в прошлых статьях, а bind. Если вы первый раз читаете про соксы и не знакомы с этим протоколом, то желательно прочитать мои статьи:"Организация работы php скрипта через socks5 сервер","PHP + socks5(авторизация по методу username/password)", либо RFC. Как и в прошлые разы перечислю на чем я все это гонял,ничего не изменилось=): * Win XP SP2 * Opera 8.52 * Денвер * 3proxy-0.5.3i(ЗАРАЗА) o--:[ 2 | Общие принципы ]:--o Для тех кто не знаком что это такое отправлю в гугл и коротко обьясню=) Bind используется для открытия порта, а по теме этой статьи видно что мы рассматриваем сокс => открывать порт будем на стороне socks5-сервера. А для чего это нужно? Это может использоваться в соединениях, которые требуют открытия порта на стороне клиента(мы ведь прячемся за сокс, т.е для удаленного сервера клиентом является сокс), хорошим примером требующим открытия порта на стороне клиента является ftp. Я думаю многие видели вопросы на форумах типа: "Ftp клиент не работает с http проксей", после долгой дискуссии выяснялось, что хлопчик пытается подключиться к фтп серверу через http проксю в активном режиме. И соответствующий ответ: "Юзай пассивный режим!". А что же это такое активный и пассивный режим? Если кто изучал ftp протокол те знаю, что в нем используется 2 вида соединения: клиент--->сервер по которому идут команды клиента и сервер--->клиент:альтернативный порт, который используется для передачи результата команды клиента(ls,get,put). Но вот проблема: с htpps проксями же такое не пройдет... Мы ведь не можем открыть порт на стороне https прокси, а для передачи данных его открыть нужно. Именно поэтому при использовании прокси сервера и активного режима вы не получите листинг директории,etc. Тогда приходиться юзать пассивный режим, там все открытия порта происходят на стороне ftp-сервера, а клиент из-за прокси просто к ним подключается и получает ответы на команды =) Но в соксах все по другому, тут есть механизм открытия порта на стороне сокс сервера и называется он bind. Т.е при использовании сокса не нужно переходить в пассивный режим(хотя возможно :-), но нужно тоже постараться чтобы открыть порт на соксе, а именно изучить данную небольшую статью =) o--:[ 3 | Реализуем BIND ]:--o Для чего это нужно разобрались, перейдем к практике и попробуем написать работающие приложение :-) По RFC предполагается, что bind будет использован только как вторичное соединение, после первого первичного установленного с помощью метода CONNECT, но мы в наших экспериментах нарушим предписания RFC. Пакеты для бинда порта мы должны слать такие же как и для коннекта, но метод должен быть не connect(01) а bind(02)=). Снова показывать структуру пакета я не буду, если ты ее не знаешь читай статьи [1],[2]. На connect сокс сервером возвращается один ответ, в котором указан статус(ok/error) подключения, с bind'ом все сложнее, соксом предоставляется 2 ответа: первый приходит сразу же после запроса, в нем так же указан статус успешности открытия порта для входящего соединения,а также ip и порт выделенные соксом для входящего соединения, эта информация, в случае надобности, может быть предоставлена серверу-приложению через первичное соединение как адрес для взаимодействия. Возможно что ip будет отличаться от ip сокс сервера, т.к иногда подобные сервера имеют несколько адресов. Второй пакет приходит после внешнего подключения к забинденому порту, там содержится ip и порт подключившегося хоста и статус подключения(коды те же, 0-ok,etc). Эти данные могут быть использованы для решения о дальнейшем взаимодействии(напрмиер ip подключившегося хоста содержится в черных списках, тогда соединение может быть разорвано....но это все на ваше усмотрение) В принципе никакой сложности это вызывать не должно, после того как мы забиндим порт и получим первый ответ сокса, перед получением данных от подключившегося клиента мы должны будем получить второй пакет и проверять его статус, далее же, если все в порядке, мы сможем получать, отправлять данные как и прежде методами php(fread,fgets,fwrite,feof). Теперь собственно обсудим что мы будем кодить. Мы не будем работать с ftp и вот почему: в php существуют ф-ции ftp_connect, ftp_put, etc. Но при подключении сначала к соксу а потом попытке передачи через данный сокет файла данными методами определенными для работы с ftp компилятор php верещит, что сокет не подходит => воспользоваться встроенными ф-циями работы с ftp сервером нам не удастся и придется изучать и писать свой класс для работы по протоколу ftp, а это не так то просто и не входит в мои планы....пока=) Но ведь наша цель просто открыть на соксе порт, и получить оттуда отправленные сервером данные, поэтому мы поступим вот как: Код:
-- забиндим порт на соксеОбсудим особенности нашего сегодняшнего кода. Обычно сокс сервер формирует ответ с типом адреса 01, т.е ip адрес, а не так как мы 03 - доменное имя. Для перевода ip в привычный нам строковый вид, т.е с точками мы будем использовать функцию пхп long2ip, специального для этого предназначенную, но перед этим мы должны будем перевести адрес из hex'а в dec. Кстати существует функция ip2long, которая могла бы пригодиться нам в том случае если бы мы передавали соксу IPv4,но это просто на заметку :-) Код изначально взят из моей статьи [2] и заточен именно для bind'а... PHP код:
Да, статья получилась не слишком большой, и возможно вы не узнали из нее ничего нового, но все же я думаю что знать данную инфу нужно, ведь понимание сетевых протоколов является основным=) По прежнему, если возникли предложения или вопросы стучи мне в асю или пиши на мыло, постараюсь дать ответ... o--:[ 5 | Материалы ]:--o 1.... Организация работы php скрипта через socks5 сервер, Jinn, ZaeB.uS, _http://zaeb.us 2.... PHP + socks5(авторизация по методу username/password), Jinn, ZaeB.uS, _http://zaeb.us o--:[ Jinn | ZaeB.uS | _http://zaeb.us ]:--o |
Несколько статей о создании закругленных углов на сайтах
Здесь представлен обзор 38 статей, разбитых на 4 категории по способам реализации.
Простой, семантически правильный CSS блок с чистым кодом Создает блок и добавляет возможность создания заголовка блока. Тянется по ширине и высоте. Несмотря на тень на примере, реализации полупрозрачной тени не предусмотрено. Код:
<div class="sidebox">Круглые углы в CSS Очень приятный внешний вид, простая реализация, малое количество HTML-элементов. К минусам, пожалуй, можно отнести только наличие 4 картинок для каждого из углов. Но увы не работает в IE. Используемые изображения: http://virtuelvis.com/gallery/css/rounded/top-left.png http://virtuelvis.com/gallery/css/rounded/top-right.png http://virtuelvis.com/gallery/css/ro...ottom-left.png http://virtuelvis.com/gallery/css/ro...ttom-right.png Верхние левые и верхние правые углы созданы, используя следующее правило CSS: Код:
.rounded:before {Код:
.rounded:after {CSS тизер-блок Предусмотрена реализация как одно- так и двух-картиночного метода. Малое количество HTML-элементов. Очень удобно для создания тизеров. Код:
.teaser {http://vremenno.net/files/uploads/corners/3.gif Ссылки на последние новости Очень интересное решение на основе неупорядоченного списка. Плюсом будет простая реализация и малое количество HTML-элементов. Приятное оформление с функцией изменения цвета при наведении мышкой (но эта приятность не работает в IE). Код:
<style type="text/css" media="screen,print">http://vremenno.net/files/uploads/corners/4.gif CSS и круглые углы: Границы с дугами Неоспоримым минусом является наличие 8 дивов для реализации. Так же в статье есть описание другого метода, в котором используется в 2 раза меньше дивов, но блок залит цветом. Код:
<style type="text/css">Создание скругленного блока или дизайн с CSS и XHTML Как и в предыдущем способе все реализовано на основе списка определений. В статье рассмотрено два способа реализации. Так же появилась возможность тянущейся ширины. css Код:
dl { /* block position that can be changed at will */Код:
<body>«Пуленепробиваемые» круглые углы Очень подробная статья с большим количеством примеров. Но достаточно сложная реализация. К тому же используется 4 картинки. HTML: Код:
<div class="contentWrapper">Код:
.roundedCornerSpacer {Рисование теней и рамок элементов оформления Статья Владимира Токмакова. Весьма сложная реализация, но к плюсам, конечно, относится возможность создания полупрозрачных теней. Статья на русском. Код:
<style type="text/css"> |
Безтабличная вёрстка!
Верстаем без таблиц!
Вот пример, работающий во всех броузерах, в том числе и в IE5 Стандартная страничка с хидером, меню, контентом и футером (футер всегда внизу ;) ): Код HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
[php] Сокеты для новчиков
Введение
Приветствую, и сразу начнём ;). В этой статье мы напишем простенький демон на php, но для начала нам надо ознакомиться с сокетами и базовыми знаниями IP-протокола. Итак что же представляет собой сокет? Сокет - это программный интерфейс, предназначенный для передачи данных между приложениями на сетевом уровне. В PHP есть функции работающие с сокетами на уровне IP-протокола. Это гораздо более низкий уровень по сранению с уровнем, на котором работают функция fsockopen и потоки. В этой статье я научу тех, кто пока ещё не умеет работать с этими функциями. Работать будем в режиме CLI (command-line interface) т.е в коммандной строке, а не через браузер. Что для этого нам понадобиться: PHP интерпретатор - ну куда ж без него :). Кстати вебсервер apache или какой другой нам не понадобиться! php_sockets.dll - библиотека (должна быть именно под вашу версию PHP) Подключение модуля sockets Для начала нам нужно проверить подключена ли у нас либа php_sockets.dll. Смотрим в php.ini (eg. %WINDIR%\php.ini) и смотрим в раздел "Dynamic Extensions". Там должна быть раскоментирована строчка "extension=php_sockets.dll". Далее смотрим директиву "extension_dir" она должна указывать на путь где лежат все динамически подключаемые модули. Лезем туда и смотрим присутсвует ли библиотека там. Если да то читаем дальше, если нет то скачайте модуль под вашу версию php и положите в эту директорию. Теперь проверим работает ли она. Существует несколько способов проверить это.
PHP код:
Пишем простой демон Итак напишем простой демон который будет при подключении выводить какую нибудь рандомную надпись из файла. Принцип сервера-скрипта будет простой:
Приступим к кодингу, думаю вопросов лишний не возникнет так-как код хорошо комментирован. PHP код:
Тестируем приложение Для начала выведем все активные TCP соединения C:\Documents and Settings\t3rr4n>netstat -o -a -p TCP Активные подключения Имя Локальный адрес Внешний адрес Состояние PID TCP work-012f823131:http work-012f823131:0 LISTENING 2112 TCP work-012f823131:epmap work-012f823131:0 LISTENING 1188 TCP work-012f823131:microsoft-ds work-012f823131:0 LISTENING 4 TCP work-012f823131:doom work-012f823131:0 LISTENING 1552 <-- это мы висим TCP work-012f823131:1029 work-012f823131:0 LISTENING 884 TCP work-012f823131:1048 work-012f823131:0 LISTENING 2032 TCP work-012f823131:3306 work-012f823131:0 LISTENING 2444 TCP work-012f823131:1046 205.188.8.253:https ESTABLISHED 2032 TCP work-012f823131:netbios-ssn work-012f823131:0 LISTENING 4 DOOM это ассоциация с портом "666" (в игре "DooM" используется именно этот порт ;) ). Т.е наше приложение ожидает подключение. Проверим что это за приложение запущено по PID 1552: C:\Documents and Settings\t3rr4n>tasklist | find "1552" php.exe 1552 Console 0 4а064 КБ C:\Documents and Settings\t3rr4n>tasklist | find "php.exe" php.exe 2716 Console 0 812 КБ php.exe 1552 Console 0 4а064 КБ Теперь попробуем подключиться и посылать комманды (на рис. всё понятно). Я использовал известную программу NetCat, вы можете Telnet но лучше NC: C:\Documents and Settings\t3rr4n>nc 127.0.0.1 666 Хай! http://s59.radikal.ru/i163/0901/7f/d0d0b6dcb872.jpg Ну на этом всё. Теперь вы можете тоже попробовать написать какой-нибудь демон, может быть бота или ещё что-то более интересное, ведь большинство приложений в сети используют именно сокеты, так что это основа основ. Кстати в большинстве языков программирования поддерживаются сокеты и принцип работы с ними везде одинаковый. Который я описал выше. |
Ой, это для меня сложно...(
|
Что, вот так взял и за минуту всё прочитал?:)
|
очень небольшая статья по PHP
некоторое время назад понадобилось из PHP-CLI скрипта вызвать внешнюю программу, не дожидаясь её выполнения в операционной системе windows вопрос возник потому, что стандартные пхп функции system, exec и т.д. приостанавливают работу скрипта до тех пор, пока заданный в них параметр не выполнится. спрашивал на форуме - сказали что винда г, юзать nix и запускать команду в фоновом режиме амперсандом, но надо было в винде. и вот сегодня почитав мануал по win оболочке дошел до команды START, которая как раз делает то, что нужно =) синтаксис можно посмотреть так: start /? и, наконец, применение в пэхэпэ скрипте: PHP код:
текущим скриптом (т.е. родительский скрипт продолжает выполняться потому что команда start после запуска указанной программы завершается и следовательно функция system завершается ) ну конечно при условии что win знает где лежит php.exe т.к. я раньше не знал этого и думал что это невозможно (как впрочем мне и сказали тогда на форуме) решил выложить в помощь людям, которые ещё не знают этого и которым это может понадобиться |
Вложений: 1
Парсинг страниц с защитой на JavaScript [INTRO] Многие начинающие и не очень начинающие кодеры при написании парсеров/грабберов сталкиваются с проблемой, что вывод данных на страницу производится яваскриптом, да ещё и с динамическими именами переменных, массивов и т.д. Собственно решил написать эту статейку. [Способ решения] Вот так недавно наткнулся на один код. На странице выводилась прокся (IP : Port). Но выводилось при помощи JS. Наша задача - получить адрес и порт прокси при помощи PHP, не прибегая к каким-либо выполнениям на стороне клиента. Код страницы выглядел примерно вот так: Код:
<HTML><BODY>каждой перезагружке страницы. Казалось бы сложно, на самом деле нет :) Рассмотрим код: Каждая переменная формирует кусок ip прокси, а одна из них содержит порт. Этот алгоритм не меняется. Далее переменная TMUuMPjfRhm содержит конечный результат (адрес разделённый точками и через двоеточие порт). Следовательно нам нужно получить результат этой переменной. В принципе есть множество способов решения данной проблемы, в целом всё зависит от воображения программиста. Сейчас мы рассмотрим один из способов - преобразование JS кода в PHP и выполнение. И так пошагово:
Всё, что для этого нужно это знание регулярных выражений, ну и синтаксиса PHP (как бы банально это не звучало), иначе eval() код с ошибками кушать не будет :) [Поехали] 1. Парсим код. Всё, что нам нужно для счастья это код между <script></script>. PHP код:
2. Парсим имена массивов и переменных PHP код:
Код:
Переменныеобратного вызова, чтобы применить её ко всем элементам массивов $arrs[1] и $vars[1]. PHP код:
PHP код:
PHP код:
3. Меняем JS функции на эквивалентные PHP Здесь используется всего-лишь одна функция parseInt. Эквиватент ей в PHP - intval() или в данном примере даже подойдёт abs(). Заменим на intval(): PHP код:
заменим это дело, просто убрав new: PHP код:
Заменяем ёё на PHP-конкатенацию (точка) PHP код:
Хитрый финт ушами и у нас уже готовый PHP-код: PHP код:
Для начала создадим переменную, которая будет содержать результат. Ведь к переменной $TMUuMPjfRhm мы не можем обращаться постоянно, так как имя её меняется. Поэтому, чтоб код был постоянно рабочим при любых изменениях переменных достанем имя последней переменной из массива (того, когда парсили) имена переменных. И создадим независимую переменную, содержащую результат. PHP код:
PHP код:
PHP код:
[Вывод] Как все знают, идеальной защиты не существует и JS тому не исключение :) Был продемонстрирован всего один из тысячи способов получения контента страницы с казалось бы такой крутой защитой. В общем удачных кодесов :) В аттаче весь код этой статьи с комментариями |
Оч интересно... Спасибо енот..
В карту статей и ниииет) |
Это было реально охуенно, в статьи)
|
Кэширование Web-страниц
Кэширование Web-страниц
Эта статья ориентирована не на спецов, так что определения некоторых понятий точностью ни изобилуют, главное чтобы было понятно.. Прошу сильно не ругать, так как пишу подобное впервые - за здоровую критику буду благодарен.. Недавно при написании сайта я столкнулся с проблемой кэширования. Долго искал информацию на эту тему, то что нарыл укладывается в один стандартный алгоритм. Примерная его суть:
Очевидные проблемы:
Из-за всего этого пришлось изобретать свой велосипед(хотя на новаторство идеи не претендую, вряд-ли кто-то до этого не догадывался):
Успехов в ваших разработках! mixk0rshun P.S.: Кэширование вряд ли будет иметь много смысла для мелкого сайта, но для крупных разработок оно сильно экономит процессорное время, для маленьких проектов - скорее только затормозит... И напоследок некоторый совет: проще всего использовать в папке кэша каталоги, т.е: Страница: http://example.com/forum/index.php?id=3 Кэш: cache/forum/index.php/id=3 |
хотелось бы услышать коментарии...
|
Цитата:
Если контент тяжёлый (флешка, видос), то используются предзагрузка. В общем я не видел ниодного обычного сайта с кешированием. Если где-то используется - приведи сайт (кроме гугла, ну и темболее он кешурет не для отображения своих страниц :) ). |
Цитата:
Цитата:
Метод post же не является ни безопасным, ни идемпотентным. Кеширование на сервере должно происходить на другом уровне, чтобы сохранять результаты работы шаблонизатора, статистику, частые выборки из бд, и т.д. Цитата:
|
Цитата:
|
Цитата:
|
| Время: 05:29 |