![]() |
|
![]() |
||||||
![]() |
В JavaScript'е при присваивании переменной массива или объекта происходит создание ссылки на объект(массив). Ниже приведены два примера, используя которые можно создать копию объекта массива. Читать дальше... Неудивительно, что Internet Explorer не поддерживает отображение потокового видео в формате MJPEG, в то время как остальные браузеры его давно поддерживают. Но исправить этот недостаток можно, используя специальный ActiveX от компании Axis Communications amc.cab. Читать дальше... CodeIgniter предоставляет неплохие возможности по обработке ошибок, но мне они показались недостаточными по следующим причинам:
Будем это исправлять =) Читать дальше... Первый способ основывается на регулярных выражениях и взят из библиотеки Prototype. Второй способ основан на том, что при попытке получить объект из его текстового представления будет возникать ошибка, если формат представления некорректен. Читать дальше... form, javascript, js, parent, родительская, форма event, javascript, js, событияC помощью данного скрипта можно быстро рассортировать фотографии по датам. Дата создания фотографии берется из EXIF. Директории фотоархива будут иметь следующий формат: photos/2009/20090628. Читать дальше... Две проверки осуществляется посредством регулярных выражений, еще одна посредством функции filter_var. Читать дальше... Многие мобильные телефоны позволяют снимать видео на встроенную камеру и сохранять его в формате 3gp. Для работы с видео и звуком под Linux есть как минимум 2 классных инструмента, mencoder и ffmpeg. Ниже представлены три способа конвертирования. Читать дальше... В основном распространены два вида переноса строк в тексте: вида "\r\n" в среде Windows и просто "\n" в среде Unix. Зачастую в тексте встречаются переводы обоих видов - это неправильно. Следующая функция поможет привести переводы строк в тексте в единый формат. Читать дальше... Формат хранения дата и даты с временем в базе данных MySQL отличается от того, каким мы привыкли его видеть. C помощью следующей функции вы сможете отформатировать дату в привычный вид. Читать дальше... Создает стандартную почтовую HTML–ссылку.
Почтовый адрес выводится в обфусцированном виде с использованием порядковых номеров символов, которые генерируются при помощи JavaScript. Таким образом адрес скрывается от спам–ботов. Читать дальше... Я люблю Excel - править огромные таблицы, быстро анализировать данные в нём одно удовольствие. Для того, чтобы обработанные данные передать в приложения на CakePHP, я просто копирую всё в буфер и вставляю в textarea. Чтобы разбирать информацию оттуда, я использую следующий код: Читать дальше... case, javascript, php, ucwords, upperПри использовании XSLT-преобразованй следует помнить, что в разных брузерах по разному реализуется алгоритм преобразований. В приведенном примере учитываются особенности преобразований в браузерах Mozilla и Internet Explorer. Напомним, что браузеры Opera и Safari не поддерживают ни метод transformNode(), ни объект XSLTProcessor(). Обеспечить поддержку можно, к примеру, перкладыванием процесса преобразования на сторону сервера, а в самом скрипте получать уже результат преобразования. Читать дальше... ie, mozilla, opera, safari, xml, xsl, xslt, браузер, преобразования, трансформация![]() Алгоритмы → Группировка → XSLTРешение задачи группировки основывается на двух правилах:
Чтобы выполнить данную проверку обратимся к функции generate-id. Функция generate-id возвращает уникальный идентификатор первого в порядке просмотра документа узла переданного ей множества. Значит для того, чтобы проверить, является ли узел первым узлом группы, достаточно сравнить его уникальный идентификатор со значением уникального идентификатора множества узлов этой группы. Читать дальше... XSLT не предоставляет стандартных операторов для определения принадлежности одного множества другому, нахождения пересечений, разности множеств и так далее.
Рассмотрим иной подход к реализации операций над множествами, основанный на очень простом определении принадлежности узла множеству. Узел node, принадлежит множеству nodeset тогда и только тогда, когда выполняется равнество:
count($nodeset) = count($node | $nodeset). Читать дальше... Данная функция предназначена для очистки html-кода, а конкретно кода, который генерируется при переносе текста из Word'a.
Удобно использовать в online wysiwyg-редакторах, где этот функционал не реализован (для этой цели и искалась). Код взят из плагина CleanHTML для редактора FCKEditor. Читать дальше... clean, editor, html, javascript, wisiwygВ русском языке существительные с числительными могут быть в единственном, двойственном и множественном числе: один арбуз, два арбуза, пять арбузов (двойственное число - это почти исчезнувшая в русском языке грамматическая конструкция, встречающаяся только в этом случае). Следующий шаблон поможет вам просклонять нужное слово в зависимости от числительного. Читать дальше... В Firebug - популярном плагине для Firefox, существует фукнция console.trace(), которая позволяет просмотреть стэк фукнций, т.е. просмотреть последовательность вызова функций до определенной точки. Но если вы его не используете, либо, что более вероятно, вам нужно просмотреть стэк вызова функций на других браузерах, не поддерживающих Firebug, то вам возможно пригодится следующая функция, созданная Эриком Венделином (Eric Wendelin). Для просмотра стека достаточно вызвать функцию printStackTrace(). Читать дальше... debug, firebug, javascript, stack, traceПример загрузки файлов на сервер без перезагрузки страницы. Функция submit() является основной в объекте AIM. Она создаёт скрытый iframe при помощи функции frame(), добавляет атрибут target для формы и при необходимости выполняет callback onStart при начале отправки формы. В целом, принцип действия скрипта основывается на применении атрибута target, который указывает, где будет отображаться новый документ. Поскольку здесь target указывает на скрытый iframe, то страница не будет перезагружаться при оправке формы, а ответ от сервера будет помещен как его содержимое. Пример применения объекта AIM: <form action="index.php" method="post" onsubmit="return AIM.submit(this, {'onStart' : null, 'onComplete' : completeCallback})"> .... </form> Читать дальше... ajax, file, javascript, uploadПо долгу работы частенько приходится тестировать различные формы, частенько код обработки форм не сразу работает корректно - приходится постоянно заполнять одну и ту же форму. Чтобы этого избежать я ставлю у формы свойство target="_blank", в итоге сабмит формы открывается в новом окне, окно с формой остается открытой, а сама форма - заполненной. Для упрощения процесса установки атрибута у формы, написал небольшой букмарклет, который ставит у всех форм на странице атрибут target равным '_blank'. Чтобы его использовать - перетащите эту ссылку - Forms target blank в закладки, а чтобы его запустить - просто кликните по закладке. Код букмарклета представлен ниже. Читать дальше... Имеем XML-узел: <title>ВЗГЛЯД / <hlword priority="strict">Путин</hlword> слетал к кубанским студентам</title> На выходе надо получить строку ВЗГЛЯД / Путин слетал к кубанским студентам, без тегов, комментариев и т. д. Как это правильно сделать? Когда-то давно я узнал функцию выдирания всего текста из DOM-узла (не важно, HTML это или XML). Но она работает медленнее, чем браузерные DOM-свойства text и textContent. При этом в XML DOM-свойство text - для Internet Explorer и Opera; textContent - для Firefox и Opera. А вот для Safari ничего нет, он не понимает ни text, ни textContent. Объединив все возможные подходы, получаем кроссбраузерную функцию: Читать дальше... На самом деле проверяется существование OpenID сервера для указанного адреса, то есть даже если проверка прошла успешно - указанного OpenID аккаунта может и не существовать. Но в большинстве случаев хватит и такой проверки. Необходимо подключить класс Simple PHP OpenID. Читать дальше... Понадобилось прикрутить на сайт авторизацию по OpenID. Остановился на библиотеке Simple OpenId, для которой написал метод-обертку, позволяющий сделать авторизацию с помощью этой библиотеки удобно и быстро. Метод разбит на два этапа и работает следующим образом: - делается вызов самого метода, в качестве параметров необходимо указать OpenID и имя функции, происходит переадресация пользователя на сервер OpenID провайдера, для подтверждения доступа. Обратите внимание на строку 38 - здесь указывается URL, к которому обратится OpenID сервер после подтверждения доступа - переход на этот адрес снова должен запустить метод OpenIdAuth - то что метод уже вызван сервером OpenID можно определить по параметрам из get-запроса, а конкретно 'openid_mode'. После этого анализируется ответ сервера и вызвается callback-функция, имя которой было передано при первом запуске метода. То что OpenID авторизация была пройдена успешно - будет извещать параметр передаваемый в callback-функцию со значением "VALID". Учтите, что если вы используете процедуроное программирование, а не объектное, то вам надо будет переписать строки проверки существования callback-функции и ее вызов - строки 90 и 92 соответственно. Читать дальше... |
Меню
Подписка на RSS:
Поиск
Облако тегов
.net
add
application
array
asp
bash
browser
center
charset
check
class
clean
color
convert
count
create
css
curl
cursor
database
date
delete
dir
directory
disable
dom
download
editor
element
email
encode
equivalent
event
exists
expression
extension
file
find
form
format
function
generator
get
header
height
html
http
ie
image
ip
is
javascript
jquery
key
line
link
list
load
mail
math
mouse
mysql
name
number
object
page
perl
php
position
query
random
regexp
regular
scriplet
secuirity
select
send
seo
shell
size
sort
sql
string
style
system
text
textarea
time
unix
url
utf8
validate
variable
vb
visual basic
width
window
wisiwyg
xml
xslt
|
![]() |
![]() |
![]() |
||
![]() |
![]() |