Установить URL-адрес iframe на основе динамического URL

0

Кто-нибудь знает код javascript, который будет определять динамический url страницы (? Q = Chicken) и установить URL-адрес iframe на странице https://www.google.co.uk/?#q=Chicken. (Я фактически не делаю поисковый клиент Google!)

    Get - Text added to Url
    set
    Url of iframe to https://www.google.co.uk/?#q=Chicken

Все это будет загружаться.

  • 0
    какой язык на стороне сервера вы используете?
  • 0
    Вы можете получить динамический URL, сделать подстроку из ? и получить параметры.
Теги:
iframe
web

3 ответа

1
Лучший ответ

Вам нужно что-то вроде этого:

<script>
function get_url_parameter(name) {
  return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null
}

document.addEventListener('DOMContentLoaded', doc_loaded, false);
function doc_loaded() {
    //var url = 'https://www.google.co.uk/?#q=' + get_url_parameter('q');
    var url = 'http://example.com/?#q=' + get_url_parameter('q');
    document.getElementById('iframe_id').src = url;
}
</script>
<iframe src="#" id="iframe_id" width="1000" height="500"></iframe>

но он не будет работать для Google, поскольку он отправляет заголовок ответа "X-Frame-Options: SAMEORIGIN" :(

  • 0
    Работал отлично для меня. Большое спасибо!
  • 0
    Есть ли способ установить в iframe другой URL-адрес, если к URL-адресу страницы ничего не добавлено? (Если это значение равно NULL, установите, например, на главную страницу Google)
Показать ещё 2 комментария
1

Вы можете использовать location.search в Javascript. https://developer.mozilla.org/en-US/docs/Web/API/URLUtils.search

Таким примером может быть:

$('iframe')[0].src = "http://www.google.co.uk/" + location.search;

Но Google не любит быть в iframe. Вы должны попробовать другой сайт.

1

Попробуйте, URL просматривается " http://something.com/index.asp?search=anything

  <script type="text/javascript">

    $( document ).ready(function()
    {

    function getParameterByName(name) {
        name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
        var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
            results = regex.exec(location.search);
        return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
    }

     var urliframe =  "http://www.google.co.uk/?#q="+getParameterByName('search');

     $('#myIframe').attr('href',urliframe);

    });

    </script>

    <iframe id='myIframe' href='#'>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню