Рейтинг
0.00
голосов: 0

О блоге

В этом блоге рекомендую публиковать статьи про вёрстку, html, css. Статьи, которые посвящены тем частям сайта или приложения, которые видят пользователи.

Администраторы (1)

Модераторы (0)

Модераторов здесь не замечено

Читатели (3)

Maugli AndreyART a1ex

Вердикт - Поведенческий анализ

Антивирусный робот Яндекса при проверке страниц выдал вердикт — поведенческий анализ.
Что же это такое? По данным со страниц Яндекс это:
Анализ поведение JavaScript-кода и других активных элементов. Если поведение совпадает с эвристическими правилами, характерными для drive-by-download атак, например, детектор вредоносных Java апплетов или детектор вредоносных PDF документов обнаруживают попытку эксплуатации уязвимости для выполнения вредоносного кода, то принимается решение о том, что проверяемая страница является опасной для посетителей.
На самом деле, сама проблема с попаданием в антивирусный фильтр Яндекс «Поведенческий анализ».
Получив данный вердикт я долго перебирал на сайте весь JavaScrip и html шаблоны, но так и ничего не нашёл. Что же имел ввиду Яндекс?

Случайно решил взглянуть на файл .htaccess и УРА, вот они вредные скрипты)

В содержимом файла был код похожий на:
RewriteEngine On
RewriteCond %{HTTP_REFERER} .*google.* [OR]
RewriteCond %{HTTP_REFERER} .*ask.* [OR]
RewriteCond %{HTTP_REFERER} .*yahoo.* [OR]
RewriteCond %{HTTP_REFERER} .*baidu.* [OR]
RewriteCond %{HTTP_REFERER} .*youtube.* [OR]
RewriteCond %{HTTP_REFERER} .*wikipedia.* [OR]
RewriteCond %{HTTP_REFERER} .*qq.* [OR]
...
RewriteRule ^(.*)$ .....

Вычистив лишний код, проблема с попаданием в антивирусный фильтр Яндекс «Поведенческий анализ», исчезла.

Прогресс бар загрузки изображений на странице как на YouTube

В одном проекте появилась мысль создать скрипт, который как на YouTube (полоской вверху страницы), будет отображать прогресс загрузки изображений, во время загрузки самой страницы.

Требования к скриптам: библиотека jQuery.

И вот, что из этого вышло:
$().ready(function(){ // загрузка DOM
	var images_count = $('img').length; // количество изображений на странице
	var percent = images_count / 100; // процентная часть одного изображения 
	var loading_progress = 0; // текущий прогресс
	var images_ready = 0; // загружено изображений (не используется, но можно выводить счётчик)
	if (images_count > 0){ // если есть изображения
		$('body').append('<div id="top_progess_bar"> </div>'); // добавляем верстку прогресс-бара
		$('#top_progess_bar') // настраиваем для прогресс-бара стили
				.css('position', 'fixed')
				.css('top', 0)
				.css('left', 0)
				.css('width', '0%')
				.css('height', '2px')
				.css('background-color', '#F15A23')
				.css('z-index', 100000);
	}//if
	
	$('img').load(function(){ // когда изображение загрузилось
		images_ready++; // увеличиваем счётчик загруженных изображений
		loading_progress += percent; // увеличение процентов
		if(loading_progress >= 100){ // если загрузились все (тут можно и количество проверять)
			$('#top_progess_bar').remove(); // удаляем прогресс-бар
		}//
		$('#top_progess_bar').css('width', loading_progress + '%'); // указываем размер прогресс-бара в текущих процентах
	});
	
	$(window).load(function(){ // когда загрузилась вся страница
		$('#top_progess_bar').remove(); // удаляем прогресс-бар. 
// Сделано для того, чтоб если изображений по какой либо причине не будут загружены, прогресс-бар всё равно удалился.
	});
});

Получить текст TinyMCE для jQuery.serialize()

Проблема отправки данных TinyMCE через jQuery.serialize()

Если Вы читаете эту статью, то скорее всего Вы собирались отправить форму с активным редактором TinyMCE через AJAX и обнаружили, что значение «textarea» не передаётся обработчику.

Не буду углубляться в подробности, просто предложу кусочек кода, который работает)
$('.btn-submit').on('click', function() { // событие нажатия кнопки отправки формы (не submit!!!)
        if (tinymce.activeEditor === null) { // выход, если нет текущего активного редактора
            return;
        }//
        var text = encodeURI(tinyMCE.activeEditor.getContent()); // получение значения ТЕКСТ текущего открытого редактора
        tinymce.activeEditor = null; // сброс указателя на текущий активный редактор (чтоб не было багов с focus())        
        var fdata = $('form').serialize() + '&text=' + text; // дополнение данных формы данными редактора
        $.post("адрес серверного скрипта", fdata, function(rdata) {
            // обработчик ответа
            }
        });
    });

Итак, из скрипта видно, что для получения значения активного редактора TinyMCE нужно выполнить метод getContent();
var text = encodeURI(tinyMCE.activeEditor.getContent());

Новая Почта API PHP

Представляю Вашему вниманию небольшой PHP Class для работы с API Новая Почта.
Почему небольшой? Потому, что класс умеет только получать список городов, в которых находятся отделения службы доставки новая Почта, а так же список отделений по городам. А точнее список отделений Новая Почта для конкретного города.

Класс удобен для динамической загрузки отделений, например на странице заказа магазина и т.д.
Не буду особо уделять внимание деталям, скажу только то, что для работы с API Новая Почта нужен ключ, получить который можно у менеджеров компании.

Класс так же умеет кешировать полученные результаты. Это сделано для того, чтоб сервер постоянно не дергал сайт Новой Почты, который иногда сильно тормозит и соответственно заставить Вашего покупателя ждать, а это точно не повлияет на рост продаж! Кеширование реализовано для Framework OpenCart, но Вы можете и не использовать его и/или использовать собственную систему кеширования данных. В примере я его закомментирую.

По примеру моего класса и прочитав описание API на странице Новой Почты, Вы легко сможете реализовать остальные функции API.

Читать дальше

Таблица HTML символов для HTML (escape последовательность) и CSS

Набрёл на просторах сети на таблицу escape последовательность с готовыми вставками для HTML и CSS. Там же можно загрузить таблицу в PDF.

Ссылка — rgft.net/charsandentities.html

СМС шлюз для сайта или СМС средствами PHP

Что же такое СМС для сайта и для чего это нужно?

Попробую очень прост ответить на этот вопрос. Например, у Вас интернет магазин, СМС с подтверждением заказа, изменением статусов прилично повышает рейтинг в глазах покупателей и доверие.

Так же СМС можно с успехом использовать для авторизации на сайте. Скажете — дорого? Но взгляните на это с другой стороны! Вы получаете базу клиентов с рабочими телефонными номерами, все операции, подтверждённые по СМС, имею более высокий уровень безопасности и т.д.

Итак, вернёмся к СМС :) Существует достаточно большое количество сервисов отправки СМС в интернете, большинство из них снабжены API для взаимодействия с Вашим сайтом. Но в сегодняшней статье я опишу сервис, с которым мне пришлось работать последним.

Его преимущество прежде всего выгодно для Вас, так как регистрация на нём использую нашу партнерскую страницу мгновенно обеспечит 10% скидку на все услуги.

Собственно, страница регистрации it103.sms.ru/

API у данного сервиса достаточно широкий, но в нашем примере воспользуемся только основными функциями: отправка, проверка баланса.


Читать дальше

Wordpress - связываем Tiny MCE и PrettyPhoto

Часто при работе над сайтами с системой управления WordPress сталкивался c проблемой адекватной связи плагинов Tiny Mce Advanced и PrettyPhoto.

Как известно основной атрибут, который использует prettyPhoto – rel, решал проблему и заменой в настройках prettyPhoto атрибута, и банально прописывали rel из текста, но сегодня надоело. В принципе TinyMCE позволяет проставить атрибут rel (вкладка «Дополнительо», параметр «Отношение страницы к цели»), но хотелось бы добавить в выпадающий список и свое значение. Оказалось, что это не такая уж серьезная проблема.

Итак, все, что нам потребуется это поправить вывод всплывающего окна для расширенных ссылок, для этого идем в папку: wp-content/plugins/tinymce-advanced/mce/advlink и находим там файл link.htm. Открываем файл и находим следующие строку:

<td><select id="rel" name="rel">

и вставляем в список опций нужную нам опцию. Я особо ниего не придумывая добавил:

<option value="prettyPhoto">prettyPhoto</option>

сразу после:

<option value="">{#not_set}</option>

Примечание в FireFox список оновился сразу, в браузерах на WebKit пришлось почистить кэш.

Спасибо все за внимание!

Где обналичить чек от Google

Где быстро обналичить чек от Google?
Этим вопросом задаётся любой, начинающий рекламные компании на своих сайтах, вебмастер.
На сегодняшний день, одной из самых интересных и прибыльных является рекламная сеть Google AdSense‎.

Самый популярный метод расчёта с партнерами на территории стран СНГ (Украина, Россия, Беларусь и т.д.) является банковский чек, который высылается почтой и в последствии погашением в банке.

Более детально пройдусь по процедуре в Украине. Раньше, погашением чеков занимался ПриватБанк, как и сейчас, но после смены законодательства этот процесс занимает около 60 дней. Вы хотите ждать деньги 60 дней и постоянно напоминать об этом сотрудникам банка? Думаю — нет!

Потому, на просторах интернета, был найден новый способ погашения банковских чеков Google. Им стала платёжная система epayservices.com

ePayService — это международная электронная платёжная система, ориентированная в первую очередь на нужды IT — индустрии. ePayService является зарегистрированной торговой маркой американской финансовой компании MTACC INC. Головной офис МТАСС INC находится в Сан-Рамоне, США. Филиал компании расположен в штате Вашингтон.

Информация с официального сайта.
Для начала, Вам потребуется зарегистрироваться на сайте компании ePayService. Под рукой нужно иметь мобильный телефон, на него придёт код подтверждения, паспорт, идентификационный код, но об этом чуть ниже.

Итак, переходим на страницу регистрации в ePayService. Внимательно читаем содержание страницы (настройтесь с этого момента читать всю информацию очень внимательно), соглашение с пользователем и нажимаем кнопку Продолжить.


Читать дальше

Установка сервера NGINX для ISPManager в CentOS 6

Недавно был удивлён отсутствием возможности подключить кеширующий сервер Nginx панели IPSManager установленной на CentOS 6.
Но, не беда, установим его. Для установки нам понадобиться root доступ к серверу.

Установка Nginx из репозитория CentOS 6
Будем использовать способ установки из репозитория. На мой взгляд, это самый простой и быстрый способ установки Nginx.

1. Добавим репозиторий Nginx. Для этого создадим файл nginx.repo в каталоге /etc/yum.repos.d/. Для этого используем любой из доступных и понятных Вам редакторов.
Пример для MC:
mcedit /etc/yum.repos.d/nginx.repo

Пример для NANO:
nano /etc/yum.repos.d/nginx.repo

После, в файл нужно добавить:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

Сохраним и закроем файл.

Установка Nginx
после добавления репозитория, осталось выполнить стандартную команду установки:
yum install nginx

Если хотите не отвечать на вопросы во время установки, то нужно добавить ключ -y
yum install nginx -y

Стандартные классы стилей выравнивания Wordpress

Добавление стандартных стилей в тему Wordpress.
При вёрстке шаблона под Wordpress важно помнить, что для поддержки выравнивания элементов на странице (блоки, изображения) из стандартного редактора Wordpress, в файл стилей нужно добавить несколько строк.

Вся эта информация есть в Кодексе, но если вдруг пропустили, то смотрите ниже:


Читать дальше