CORSに関する質問、Blogspotを埋め込む

埋め込み型(同一ドメイン)のGhostブログを見た後、メンバーからBlogspotでも同じことができるかという質問がありました。試してみましたが、ここまでしかできませんでした。

許可されているホストは次のとおりです。

埋め込みスクリプトは次のとおりです。

<script type="text/javascript">
DiscourseEmbed = { discourseUrl: 'https://forum.rosehybridizers.org/',
                 discourseEmbedUrl: '{{url absolute="true"}}' };
(with and without discourseReferrerPolicy: 'strict-origin-when-cross-origin'};)

(function() {
var d = document.createElement('script'); d.type = 'text/javascript'; d.async = true;
d.src = DiscourseEmbed.discourseUrl + 'javascripts/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(d);
</script>

CORSはApp.ymlで有効になっています。

DISCOURSE_ENABLE_CORS: true

また、次のように試しました。

DISCOURSE_CORS_ORIGIN: ‘*’

その後、毎回app destroy/startを実行しました。

許可されているオリジンは次のとおりです。

これらの設定は両方ともチェックされています。

Content-Security-Policyを有効にする
および
CSPを介してサイトのiframeへの埋め込みを制限する。

Jscriptコンソールには次のように表示されます。

どなたか助けていただけると幸いです。

これは間違っています。コードが実行される前に {{url absolute="true"}} が置き換えられないためです。

また、Discourseコメントの読み込みコードを記事ページのみに限定し、ホームページには適用しないようにしたい場合もあります。

「いいね!」 1