Как отображать на сайте лендинг во фрейме. Как растянуть фрейм поверх сайта. Как вывести фрейм через js. Почему не открывается сайт в iframe. Примеры кода.
Принцип работы лендинга через фрейм
Сначала, на любом домене создается лендинг, обычно это одна страница — это именно то, что будет видеть посетитель, попадая на дорвей. Такой подход удобен тем, что если нам надо обновить лендинг, то мы меняем содержимое одной страницы и все дорвеи тут же начинают показывать обновленную страницу, а так же с помощью лендинга во фрейме можно скрыть от глаз посетителей содержимое самого дорвея. С помощью css мы располагаем iframe поверх шаблона дорвея, растягиваем его на всю ширину и высоту окна браузера, таким образом дорвей полностью скрывается от глаз посетителей и они видят только лендинг.
Необходимо, чтобы код фрейма отображался на всех страницах дорвея. Если дорвей на CMS, то код достаточно добавить в шаблон самой CMS или выводить его с помощью плагинов, которые позволяют встраивать свой код, или встроенных возможностей самой CMS, типа виджетов.
Вывод iframe с помощью html
<iframe src="http://mylanding.ru" width="100%" height="100%" vspace="0" hspace="0" scrolling="yes" frameborder="0" marginheight="0" marginwidth="0" style="width:100%; height:100%; position:fixed; top:0; right:0; bottom:0; left:0; z-index:2147483647; border:none; background:#fff"></iframe>
Вывод iframe с помощью js
document.write('<iframe src="http://mylanding.ru" width="100%" height="100%" vspace="0" hspace="0" scrolling="yes" frameborder="0" marginheight="0" marginwidth="0" style="width:100%; height:100%; position:fixed; top:0; right:0; bottom:0; left:0; z-index:2147483647; border:none; background:#fff"></iframe>');
Вывод iframe с помощью js с передачей параметра title
Если на лендинг необходимо передавать уточняющую информацию в виде ключевика страницы с которой загружается ферйм, то это можно сделать передав на лендинг title текущей страницы.
document.write('<iframe src="http://mylanding.ru /?title=' + document.title + '" width="100%" height="100%" vspace="0" hspace="0" scrolling="yes" frameborder="0" marginheight="0" marginwidth="0" style="width:100%; height:100%; position:fixed; top:0; right:0; bottom:0; left:0; z-index:2147483647; border:none; background:#fff"></iframe>');
Вставить js можно, например, сразу после тега <body>. Вставить можно как окружив код тегами <script>тут код</script>, так и записав код в файл, например, myscript.js и вставить после body ссылку на него <script src="/myscript.js"></script>
Почему фрейм может не отображаться
Существует заголовок X-Frame-Options, который регулирует возможность отображать сайты во фрейме. Если сервер вместе со страницей отдает заголовок X-Frame-Options, запрещающий показывать страницу во фрейме, то браузер выведет пустой фрейм и выдаст ошибку (можно посмотреть в консоли хрома нажав F12).