Можно ли интегрировать iFrame в зависимости от адресуемого домена? - PullRequest
3 голосов
/ 05 марта 2020

Прежде всего я хотел бы отметить, что я обычно не являюсь разработчиком. Пожалуйста, имейте немного поблажек; -)

Я поддерживаю веб-сайты нескольких клиентов, которые размещаются у провайдера. Однако вы получаете субдомен только от провайдера, который также отображается в адресной строке. Чтобы отобразить собственный домен, я подумал о перенаправлении доменов на свой собственный сервер и интеграции внешнего веб-сайта через iFrame.

Однако мой сервер не является главным веб-сервером и предназначен только для размещения одного веб-сайта. , Поэтому веб-сервер всегда отвечает с индексом по умолчанию. html.

У вас есть идея, как я могу включить соответствующий iFrame в этот файл в зависимости от вызываемого домена и, если возможно, также изменить заголовок в глава? Заранее большое спасибо за помощь!

Индекс. html в настоящее время выглядит так:

<html>

<head>
      <title>Web Client</title>
</head>

<style>
body {
      margin: 0;
      padding: 0;
}
body, iframe {
      width: 100%;
      height: 100%;
}
iframe {
      border: 0;
}
</style>

<body>
      <iframe src="https://sub.domain.tld/"/>
</body>

</html> 

1 Ответ

1 голос
/ 05 марта 2020

Вы можете попробовать что-то подобное, используя javascript:

<html>

<head>
    <title>Web Client</title>
</head>

<style>
    body {
        margin: 0;
        padding: 0;
    }
    body, iframe {
        width: 100%;
        height: 100%;
    }
    iframe {
        border: 0;
    }
</style>

<body>
    <iframe id="website" src=""></iframe>
</body>
<script type="text/javascript">
    //Get the current URL
    var currentURL = window.location.href;
    //Get the subdomain from URL 
    var hostnameURL = currentURL.replace(/(http[s]*\:\/\/)/gi, '').split("/")[0];
    //Set the page title
    document.title = hostnameURL;
    //Transform subdomain to alphaNumeric
    var alphaNumericSubDomainName = hostnameURL.replace(/[^\w]/gi, '');
    //Set the subdomain to the iframe (don't forget to change the domain name below)
    document.getElementById("website").src = "https://"+ alphaNumericSubDomainName + ".domain.tld";
</script>
</html> 

Сначала я получаю текущий URL. Затем я получаю имя хоста (домен без TLD) URL.

Я использую это имя хоста для установки заголовка. Затем я удаляю специальные символы в имени хоста и объединяю это очищенное имя хоста как поддомен.

Наконец, я помещаю этот новый URL в качестве исходного URL для Iframe.

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