Close

23.05.2016

Сбор подписок на статическом сайте

У меня на статическом сайте http://acapella.ru надо жмякать кнопку «Подписаться», указав почту..  а скриптов там серверных нет, в этом-то и проблема.

Я слишком ленив, чтобы писать специально для этого какой-то сервис. И я решил обойтись «обходом кросс-доменности с помощью window.name транспорта».

Кроче, я собираю мылы в файлы на селектеле.

Вы можете сделать это например так:

  1. Скачиваете этот файл себе в контейнер облачного хранилища selectel.
  2. Встраиваете себе на сайт такой примерно код.

 

function subscribe(){
	var el = $('input[name="email"]');
	var email = el.val();
	
	var filename=email.split('@')[0];
	
	var iframe=$(''); iframe[0].name = JSON.stringify({ user:"48523_acapellarusite", key:"wouSBnPCDy", container: "acapella_subscribes", file:filename+'.email', data:email, }); iframe.attr('src',"https://167621.selcdn.ru/acapella_subscribes/write_info_to_file.html"); el.append(iframe) }

Тут всё просто:

  • делается iframe.
  • задаётся ему name, который на самом деле json с такими полями
    • user — юзер длядоступа к контеёнеру на запись
    • key — ключ доступа (я специального юзера завёл для этого)
    • container — сам контейнер ваш
    • file — путь файла в контейнере куда писать
    • data — что туда писать
  • в последнюю очередь ставишь src, чтобы он начал грузиться

И в итоге в файле оказывается то, что надо.

PS. я конечно гружу сам скрипт с другого контейнера, чтобы вы не могли его перетереть, для вредительства.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *