Сбор подписок на статическом сайте
У меня на статическом сайте http://acapella.ru надо жмякать кнопку «Подписаться», указав почту.. а скриптов там серверных нет, в этом-то и проблема.
Я слишком ленив, чтобы писать специально для этого какой-то сервис. И я решил обойтись «обходом кросс-доменности с помощью window.name транспорта».
Кроче, я собираю мылы в файлы на селектеле.
Вы можете сделать это например так:
- Скачиваете этот файл себе в контейнер облачного хранилища selectel.
- Встраиваете себе на сайт такой примерно код.
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. я конечно гружу сам скрипт с другого контейнера, чтобы вы не могли его перетереть, для вредительства.