- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Подскажите пожалуйста, как переписать кусок jQuery на нативный JavaScript...
Перепробовал все, но так и не смог заставить работать...
Вот кусочек jQuery:
и кусочек соответствующего кода HTML, к нему
http://youmightnotneedjquery.com/
зачем заново изобретать велосипед?
зачем заново изобретать велосипед?
Чтобы не тянуть почти 100 кб jquery...
Чтобы не тянуть почти 100 кб jquery...
Тяните с code.jquery.com - у многих пользователей он уже в кеше.
Тяните с code.jquery.com - у многих пользователей он уже в кеше.
Мой вопрос изложен выше, если вам нечего сказать по сути - проходите мимо.
Как-то так:
Переписал вот так, но данные по request все-равно не передаются. Гуру JavaScript'а, что я делаю неправильно?:
[].forEach.call(document.querySelectorAll('span.ajax_links'), function (el) {
el.addEventListener('click', function() {
var action = this.getAttribute('data-action');
document.getElementById('like').innerHTML = '<img src="/ajax-loader.gif" style="height:16px; width:16px;">';
/* с этим - работает
$.post(document.location.href, {action: action}, function(data) {
document.getElementById('like').innerHTML = data;
document.getElementById('like').setAttribute('title','Вы уже голосовали');
document.getElementById('thanks').innerHTML = 'Спасибо';
})
*/
/* а с этим - нет */
request = new XMLHttpRequest();
request.open('POST', document.location.href, true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.send({action:action});
request.onreadystatechange=function(data){
// if(request.readyState==4 && request.status==200){
document.getElementById('like').innerHTML = data;
document.getElementById('like').setAttribute('title','Вы уже голосовали');
document.getElementById('thanks').innerHTML = 'Спасибо';
// }
}
}, false);
});
1) Метод send принимает в качестве аргумента строку http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp там не может быть JSON данных.
2) Сперва надо определить onreadystatechange а после вызывать send метод
И вот ссылочка еще http://stackoverflow.com/questions/9516019/send-json-data-to-php-using-xmlhttprequest-w-o-jquery как отправить JSON данные
Чтобы не тянуть почти 100 кб jquery...
вот и вот в помощь минимизации кода
Спасибо, переписал вот так, но все-равно данные в скрипт не передаются:
[].forEach.call(document.querySelectorAll('span.ajax_links'), function (el) {el.addEventListener('click', function() {
var action = this.getAttribute('data-action');
document.getElementById('likevote').innerHTML = '<img src="/ajax-loader.gif" style="height:16px; width:16px;">';
request = new XMLHttpRequest();
request.open('POST', document.location.href, true);
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.onreadystatechange=function(){
if(request.readyState==4 && request.status==200){
document.getElementById('likevote').innerHTML = request.responseText;
document.getElementById('likevote').setAttribute('title','Вы уже высказали свое мнение о статье');
document.getElementById('thanks').innerHTML = 'Спасибо';
}
}
request.send('action=up');
}, false);
//return false;
});
В PHP-скрипте строка обрабатывается так:
if (($_SERVER['HTTP_X_REQUESTED_WITH'] != 'XMLHttpRequest')||(newisipvoted($ip) == 1)) {return;
} else {
$action = isset($_POST['action']) ? $_POST['action'] : '';
switch ($action) {
case 'up': ............
---------- Добавлено 05.01.2016 в 00:03 ----------
вот и вот в помощь минимизации кода
Вы предлагаете этими сервисами сжать jQuery ? 🤪
Повторюсь - вопрос в том, чтобы полностью отказаться от всяких jQuery, mootools и т.п. Ведь для реализвации данного функционало достоточно пару строк кода на нативе (это пара-тройка килобайт). Вопрос только в том, что я не особый знаток javascripta...