Я понимаю, что iframe отображается движком браузера
Есть ли способ сделать полный HTML-код на стороне сервера и передать его клиенту?
Я попробовал PHP file_get_contents () функция и srcdoc
атрибут для iframe
<?= file_get_contents('http://dns_blocked_by_isp.com'); ?>
<iframe srcdoc="<?= file_get_contents('http://dns_blocked_by_isp.com'); ?>"frameborder=0 width=510 height=400 scrolling=no
allowfullscreen=allowfullscreen>
</iframe>
Поэтому я в основном ищу альтернативу runat="server"
в ASP.NET, но для PHP, если это возможно
Мой провайдер заблокировал DNS-адрес, откуда я получаю источник iframe, но мой сервер работает в другом регионе, что означает, что он может нормально загружать контент, а URL-адреса в iframe -cdn.com
суффикс, который в свою очередь не заблокирован провайдером
Спасибо
Чтобы обойти проблемы поддержки браузера, вам, вероятно, лучше настроить страницу прокси-сервера PHP (т. Е. Скрипт на вашем сервере, который просто извлекает удаленную страницу и обслуживает источник непосредственно как страницу с вашего сервера), но я подозреваю, что проблема, с которой вы сталкиваетесь, заключается лишь в том, что "
символы, возвращаемые с удаленной страницы, нарушают srcdoc
приписывать. Допустим, удаленный файл выглядит так:
<p class="worldclass">Hello World</p>
Тогда ваш пример приведет к:
<iframe srcdoc="<p class="worldclass">Hello World</p>"
Таким образом, значение srcdoc
просто <p class=
Вам просто нужно соответствующим образом экранировать код:
<iframe srcdoc="<?= htmlspecialchars(file_get_contents('http://dns_blocked_by_isp.com')); ?>"frameborder=0 width=510 height=400 scrolling=no
allowfullscreen=allowfullscreen>
</iframe>
Других решений пока нет …