Я собираюсь создать инструмент стиля виджета, который будет работать следующим образом:
- Его можно включить на любую страницу, поместив на этой странице комбо-скрипт / кнопку.
- При нажатии кнопки будет загружена форма с моего сайта, которую можно заполнить и отправить.
- В зависимости от представленной информации, может отображаться другая форма - например, вторая страница с капчей, или страница подтверждения с некоторыми необходимыми действиями, или, возможно, просто закрыть форму, или какое-то другое действие, которое я добавлю позже .
Если бы я должен был открыть всплывающее окно, это было бы легко, просто создайте его как обычную страницу. Однако, в том числе это на странице вызова, представляет несколько проблем.
Если я на самом деле загружаю содержимое формы в локальный div на вызывающей странице, оно становится частью содержимого страницы. Я знаю, что могу до некоторой степени манипулировать этим контентом, используя скрипт (он загрузит скрипт с моего сайта для этой конкретной версии виджета), перепечатывать формы и загружать их в тот же div, скрывать div, когда я закончу с это и т. д. Но, похоже, это все усложнит.
Мой другой вариант - сделать так, чтобы все это происходило в iframe, так что это на самом деле не является частью страницы загрузки страницы загрузки. Таким образом, я чувствую, что теряю некоторую функциональность, которая может понадобиться мне позже. Я, наверное, так и пойду.
Однако перед тем, как начать этот путь, я подумал, что спросить, есть ли у кого-нибудь какие-нибудь советы о том, как лучше всего включить сложную серию страниц в другую страницу?
Что бы я ни делал, я хочу быть уверен, что я не закрою двери для своей способности изменить способ работы виджета, я обязательно добавлю функциональность позже - поэтому важно, чтобы мои параметры были открыты для изменений.
Спасибо!
Редактировать
Что касается вопроса JotaBe, на стороне сервера я буду использовать PHP.
Однако я почти уверен, что это не имеет значения, поскольку обработка PHP будет (как всегда) происходить на сервере. Весь клиент (запрашивающая страница) будет знать, что он запросил, а затем получил активы JS / HTML / CSS / JSON / ETC через HTTP. Он не будет знать или беспокоиться о том, как сервер генерирует эти ресурсы.
Если это поможет вам представить его, это основная идея о том, как клиент и сервер будут (если я не думаю о лучшем способе) работать вместе:
Страница клиента (при загрузке) запросит файл .js с моего сайта. Этот файл будет сгенерирован динамически на основе запрошенного URL. Например, учетная запись № 74 запросит http://mysite.com/widget/js/74.js и получит ресурсы JavaScript, настроенные для этой учетной записи.
Когда нажимается «кнопка виджета», он использует JavaScript для запроса HTML-формы с моего сайта и включения ее на страницу, так или иначе (какой способ лучше всего, это весь вопрос) , Форма HTML будет сгенерирована динамически и настроена для учетной записи № 74 на основании запроса (например: http://mysite.com/widget/form/74.php).
После заполнения пользователем форма будет отправлена на мой сайт. Сообщение будет обработано, и вещи произойдут, опять же на основе запрашивающей учетной записи (то есть: action = http://mysite.com/widget/post/74.php). В этот момент мне может потребоваться отклонить форму и запросить повторную публикацию за неудачную проверку, проверку с помощью капчи и т. д., или мне может понадобиться открыть страницу подтверждения, или просто закрыть форму, или какое-либо другое действие.