Друзья, тут вопрос по кроссбраузерности и оптимизации скорости. До этого дважды спрашивал на тостере, но поскольку сам толком ничего не понимал, вопросы получились очень сумбурными. Сейчас попробую более детально расписать.
Есть сервис getcourse, в числе прочего позволяющий создать, стилизовать и сгенерировать форму для подписки - несколько инпутов и сабмит. Т..е. создается виджет, который потом можно вставить на сторонний сайт в нужное место. Эта форма привязывается к аккаунту Геткурса и все данные, которые пользователь вводит, поступают во входящие этого аккаунта, и там их можно обрабатывать.
Когда форма создана, код для вставки выглядит так:
<script id="48c9cedce39cd5f5ffabd4685c329e00dbee0e4c" src="http://path/pl/lite/widget/script?id=5689"></script>
Этот код можно вставить в нужные теги сайта, и в итоге будет выводиться эта самая форма. Проблема в том, что на странице - 7 таких мест, куда нужно вставить этот код. Но, разумеется, вставлять его семь раз - это глупо, поскольку тогда браузер будет грузить все семь одинаковых форм, что ппц как долго)
Когда виджет устанавливается на сайт, т.е. загружается, в структуре страницы он отображается как iframe с кучей потомков, в числе коих и сама форма.
Пытаясь оптимизировать все это дело, я сделал следующее:
создал скрытый div с id="form_capture", внутрь которого поместил вышеозначенный код, а дальше клонировал его:
$(document).ready(function() {
// .form-script__wrapper - это блоки, внутри которых должна быть эта форма,
// Запускаю цикл, в котором отлавливаю этот создаваемый виджетом iframe, клонирую его,
// присваиваю класс для стилизации и помещаю внутрь каждого блока .form-script__wrapper
jQuery.each($(".form-script__wrapper"), function() {
$("#form_capture>iframe").clone().addClass("capture").appendTo($(this));
});
// После чего удаляю этот скрытый div совсем, чтоб не маячил вообще
$("#form_capture").remove();
});
Благодаря этому форма действительно стала загружаться быстрее, поскольку виджет загружается только единожды, а потом его разметка просто клонируется в несколько блоков. Но подозреваю, что есть более разумное и мудрое решение, потому что, хоть и стало быстрее - но все равно долго.
Однако проблема не исчерпана. На айфонах и айпадах - эта форма почему-то не прогружается вообще!
Вот, в связи с этим два вопроса:
1. Как можно еще больше ускорить загрузку этого виджета с формой?
2. С чем может быть связана проблема с загрузкой на эппловских девайсах? Причем, речь именно о мобильных девайсах. На том же маке все норм грузится.