Я понимаю, что 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>
Можете ли вы подтвердить, что
file_get_contents('http://dns_blocked_by_isp.com');возвращает HTML-код целевой страницы? Тот факт, чтоsrcdoc = "<?= file_get_contents('http://dns_blocked_by_isp.com'); ?>"не шокирует, потому что 99,9% страниц будут возвращать контент с символами"в нем, и вы не избежите двойных кавычек. Кроме того, вам лучше использовать прокси-страницу PHP, а неsrcdoc, поскольку поддержка браузера является проблемой сsrcdoc.