Междоменный Обмен Данными

Всем привет! Сегодня я хотел бы рассказать вам о междоменной передаче данных.

Когда у меня возникла необходимость перенести какую-то строку из одного домена в другой, я даже не мог себе представить, что в Интернете так мало информации на эту тему.



Введение
Собственно, все началось с того, что несколько месяцев назад я зарегистрировался на бесплатный хостинг .

Там мне предложили зарегистрировать домен второго уровня, пообещали 100 МБ места на жестком диске, хорошую техподдержку (что редкость для бесплатного хостинга) и все это абсолютно бесплатно и без всякой рекламы.

Но тут, конечно, была ложка дегтя, точнее даже не ложка, а целая бочка! На самом деле, этот ресурс не предоставляет PHP или sql или других приятных функций.

Конечно, на этом хостинге довольно сложно развернуть даже личный блог.

Тогда я задумался, а что если мой блог и другие проекты расположены на моем полноценном веб-сервере (у которого есть реальный внешний IP) и на этом хосте есть только iframe-файл.

Сказано - сделано.

Но вот проблема: пользователь не может узнать адрес страницы, на которой он в данный момент находится.

Панель браузера всегда будет освещена сайт.ру так как основной сайт загружается во фрейме.

А это, в свою очередь, означает, что он не может поделиться им с другом или добавить в закладки, а это не есть хорошо.



Поиск решения
Собственно, идея, как следует решить эту проблему, не заставила себя долго ждать.

Вам нужно с помощью js получить url страницы, загруженной во фрейм, избавиться от всего лишнего (оставить только путь), перенести на главную страницу, заменить адрес.

В воде все было бы легко и понятно, но как оказалось реализовать это достаточно сложно.

Дело в том, что политика безопасности запрещает доступ к информации во фрейме, если она находится на другом домене.

Это означает, что вы не можете получить URL-адрес страницы, просто записав window.location.href в переменную и получив эту переменную в главном окне, чтобы продолжить работу с ней.

И здесь нам нужно построить костыль.



«Костыль»
Собственно, после нескольких дней поисков я нашел несколько вариантов реализации данной задачи.

Кто-то предлагал поработать с базой данных, кто-то записать в файл, кто-то.

даже сейчас не вспомню.

В общем, они мне все не очень нравились, и тогда я начал изобретать свой костыль.

По какой-то причине я не смог разместить здесь js-код, поэтому залил его на специальный сервер: index.html на хостинге Внутри каждой страницы вашего веб-сервера Теперь разберемся, что и как: Когда пользователь посещает веб-сайт по адресу сайт.ру , js в файле index.html обрабатывает запрос, узнает, куда мы хотим попасть (в данном случае в банк) и загружает соответствующую страницу с сервера во фрейм.

Когда пользователь переходит на другую страницу, нашему index.html отправляется адрес, где в данный момент находится пользователь, а он, в свою очередь, вводит его в хеш страницы.



Заключение
Так у меня появился полноценный веб-сервер, с которым я могу возиться как угодно, не вкладывая в него ни рубля.

Конечно, для больших проектов использовать этот метод невозможно, но для домашней страницы, блога, фотогалереи или настройки какого-нибудь сервера вполне возможно.

Есть несколько вещей, которые я еще не понял.

Наиболее важным из них является индексация поисковыми системами.

Всем спасибо за внимание! Теги: #html5 #веб-разработка #обмен данными #Чулан

Вместе с данным постом часто просматривают: