2016-12-15 7 views
0

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

Сценарий заключается в том, что у меня есть кнопка, которая при нажатии открывается конкретный URL-адрес в iframe. Это отлично поработало со следующим кодом:

<a class="two_nights iframebutton_pink" href="buttonurl" target="bookingiframe" onclick="location.href='#booking'">Januar</a> 

<script> 
$("[target='bookingiframe']").on('click',function() { 
    $("#ifr").attr('src',$(this).attr('href')); 
    scrollt(); 
}); 
</script> 

Которая двигалась вниз к iframe на странице и меняла источник. Это IFrame:

`<a id="booking"><div class="frame_container"><iframe name="bookingiframe" src="generalurl" width="100%" height="8000" frameborder="0" scrolling="0"></iframe></div></a>` 

Содержание фрейма Теперь должно быть на странице, которая является белым в списке так что это решение не работает. Мне нужно, чтобы кнопка была нажата, а затем открыла новую страницу с включенным iframe и изменила URL-адрес кнопки.

Любая помощь будет высоко оценена.

ответ

0

Вам необходимо создать страницу с Iframe.

предположим, что URL является yoursite.com/iFrame.html

Что вам нужно сейчас, чтобы отправить URL бронирования на эту новую страницу. Поэтому мы будем использовать URL param для этого.

Так что ваш окончательный URL будет выглядеть yoursite.com/iFrame.html*?url=h#tp://www/bookingurl.com.....*

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

function getParameterByName(name, url) { 
    if (!url) { 
     url = window.location.href; 
    } 
    name = name.replace(/[\[\]]/g, "\\$&"); 
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 
     results = regex.exec(url); 
    if (!results) return null; 
    if (!results[2]) return ''; 
    return decodeURIComponent(results[2].replace(/\+/g, " ")); 
} 

После этого вы можете использовать свой код для заполнения iFrame.

<script> 
$(document).ready(function() { 
    $("#ifr").attr('src',getParameterByName(url)); 
}); 
</script> 

Функция getParameterByName считывает URL-адрес бронирования и загрузить Iframe.

Таким образом, окончательный код будет

<a class="two_nights iframebutton_pink" href="yoursite.com/iFrame.html*?url=h#tp://www/bookingurl.com....." target="bookingiframe" target="_blank">January</a> 

И код JS выше

+0

Спасибо за то, что так супер быстро с вашим ответом. Попробуем сейчас и отчитаемся. – mischiefbec

+0

Хорошо, он собирается на новую страницу, но не загружает целевой URL в iframe, может быть, потому, что iframe уже имеет источник набора? Или я, наверное, сделал что-то не так. :) – mischiefbec

+0

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

Смежные вопросы