Backstory: Я пытаюсь использовать Виджет Newsletter от SendGrid, но в настоящее время они не предлагают его с использованием SSL. Поэтому любые запросы к https: // просто перенаправляются на http: //, а затем браузеры жалуются на небезопасный контент на моем защищенном сайте.Почему файл_get_contents() Javascript Output не выполняется?
Хорошо хорошо, так что я реализовать что-то подобное в PHP:
$output = file_get_contents('http://sendgrid.com/newsletter/getSubscriptionWidget?p=xxx');
И тогда, на мой взгляд есть это:
<script type="text/javascript">
<?php echo($output); ?>
</script>
Просмотр источник этой страницы после выполнения показывает, что она тянет код виджета javascript в порядке. BUT, не работает. «Не работает», я имею в виду, что код javascript никогда не выполняется.
Если я загрузить его (в не-HTTPS среды разработки) с помощью тега сценария, как:
<script type="text/javascript" src="http://sendgrid.com/newsletter/getSubscriptionWidget?p=xxx">
Тогда он работает просто отлично!
TL; DR; Что заставило бы javascript выполнять штраф при загрузке под атрибутом src атрибута и не работал, если его эхо в качестве содержимого внутри script теги?
P.S. Вы можете просмотреть источник виджетов SendGrid here.
Посмотрите на сгенерированный исходный код вашей страницы – SLaks
Я сделал. Это то, что выдает: http://pastebin.com/PKXwf002. Вы можете видеть, что Javascript отображается между тегами **