Замена источника iframe на основной URL - PullRequest
0 голосов
/ 28 сентября 2018

Я не уверен, возможно ли это или нет ... Я пытаюсь заменить определенную часть URL-адреса из моего iframe строкой, которая является частью URL-адреса мэйнфрейма.

т.е. я пытаюсь заменить ссылку iframe на идентификатор пользователя.

Main URL:  https://web.example.com?userID=9553c6


<iframe src="https://app.example.com?[Insert userID here]"></iframe>

Ответы [ 2 ]

0 голосов
/ 29 сентября 2018

Вам нужно простое зависание строки.

Вы говорите, что вводите фрейм с помощью JavaScript, поэтому я предполагаю, что ваш код выглядит примерно так.

let
ifr = document.createElement('iframe'),
src = 'some/url/here?user={user-id}',
user_id = '123456';
src = src.replace('{user-id}', user_id)
;
document.body.appendChild(ifr);

ключевая строка - это строка с .replace() - здесь мы заменяем заполнитель фактическим значением.

0 голосов
/ 28 сентября 2018

Если ваш сайт находится под адресом https://web.example.com? UserID = 9553c6 , по моему мнению, вы можете сделать это, например, используя.php

<body>
    <iframe src="http://example.com?user_id=<?php echo urlencode($_GET['userId']) ?>"></iframe>
</body>

Тогда переменная $_GET['userId'] будет иметь значение 9553c6

Или вы можете использовать только js, что будет немного сложнее, потому что вам придется анализировать location.search https://www.w3schools.com/jsref/prop_loc_search.asp и получите конкретную часть этого.Конечно, это значение параметра userId будет от основного сайта.

Прямое решение

 <!DOCTYPE HTML>
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8">
        <style>
            iframe {
                width: 100%;
                height: 1000px;
            }
        </style>
    </head>
    <body>
        <iframe src="http://fotokrajobrazy.warmia.pl/galeria/fota.php?nr=1004"></iframe>
    </body>
    <script>
        window.onload = function () {
            var res = location.search.match(/userId\=(\w+)/);
            var fr = document.getElementsByTagName('iframe')[0];
            fr.setAttribute('src', fr.getAttribute('src').replace(/(nr\=)\d+/, '$1'+res[1]));
        };
    </script>
</html>

Затем вы можете редактировать основной URL-адрес следующим образом: http://127.0.0.1/stack.html?userId=1003 и http://127.0.0.1/stack.html?userId=1002 и т. Д., И URL-адрес iframe тоже изменится.

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