Всем привет! Сегодня я хотел бы рассказать вам о междоменной передаче данных.
Когда у меня возникла необходимость перенести какую-то строку из одного домена в другой, я даже не мог себе представить, что в Интернете так мало информации на эту тему.
Введение
Собственно, все началось с того, что несколько месяцев назад я зарегистрировался на бесплатный хостинг .Там мне предложили зарегистрировать домен второго уровня, пообещали 100 МБ места на жестком диске, хорошую техподдержку (что редкость для бесплатного хостинга) и все это абсолютно бесплатно и без всякой рекламы.
Но тут, конечно, была ложка дегтя, точнее даже не ложка, а целая бочка! На самом деле, этот ресурс не предоставляет PHP или sql или других приятных функций.
Конечно, на этом хостинге довольно сложно развернуть даже личный блог.
Тогда я задумался, а что если мой блог и другие проекты расположены на моем полноценном веб-сервере (у которого есть реальный внешний IP) и на этом хосте есть только iframe-файл.
Сказано - сделано.
Но вот проблема: пользователь не может узнать адрес страницы, на которой он в данный момент находится.
Панель браузера всегда будет освещена сайт.ру так как основной сайт загружается во фрейме.
А это, в свою очередь, означает, что он не может поделиться им с другом или добавить в закладки, а это не есть хорошо.
Поиск решения
Собственно, идея, как следует решить эту проблему, не заставила себя долго ждать.Вам нужно с помощью js получить url страницы, загруженной во фрейм, избавиться от всего лишнего (оставить только путь), перенести на главную страницу, заменить адрес.
В воде все было бы легко и понятно, но как оказалось реализовать это достаточно сложно.
Дело в том, что политика безопасности запрещает доступ к информации во фрейме, если она находится на другом домене.
Это означает, что вы не можете получить URL-адрес страницы, просто записав window.location.href в переменную и получив эту переменную в главном окне, чтобы продолжить работу с ней.
И здесь нам нужно построить костыль.
«Костыль»
Собственно, после нескольких дней поисков я нашел несколько вариантов реализации данной задачи.Кто-то предлагал поработать с базой данных, кто-то записать в файл, кто-то.
даже сейчас не вспомню.
В общем, они мне все не очень нравились, и тогда я начал изобретать свой костыль.
По какой-то причине я не смог разместить здесь js-код, поэтому залил его на специальный сервер: index.html на хостинге Внутри каждой страницы вашего веб-сервера Теперь разберемся, что и как: Когда пользователь посещает веб-сайт по адресу сайт.ру , js в файле index.html обрабатывает запрос, узнает, куда мы хотим попасть (в данном случае в банк) и загружает соответствующую страницу с сервера во фрейм.
Когда пользователь переходит на другую страницу, нашему index.html отправляется адрес, где в данный момент находится пользователь, а он, в свою очередь, вводит его в хеш страницы.
Заключение
Так у меня появился полноценный веб-сервер, с которым я могу возиться как угодно, не вкладывая в него ни рубля.Конечно, для больших проектов использовать этот метод невозможно, но для домашней страницы, блога, фотогалереи или настройки какого-нибудь сервера вполне возможно.
Есть несколько вещей, которые я еще не понял.
Наиболее важным из них является индексация поисковыми системами.
Всем спасибо за внимание! Теги: #html5 #веб-разработка #обмен данными #Чулан
-
Полезно Для Новичков В Игре Ingress.
19 Oct, 24 -
Естественная Смерть Монополий
19 Oct, 24 -
Google Покупает Endoxon
19 Oct, 24