GitHub Gist嵌入通过WP REST API获取的WordPress post中

GitHub Gist嵌入通过WP REST API获取的WordPress post中,wordpress,github,wordpress-rest-api,gist,Wordpress,Github,Wordpress Rest Api,Gist,在我的WP帖子中添加了一个嵌入的Gist之后,当通过restapi获取它时,我看到的只是嵌入代码,意思是 有一些解决方案可以在WordPress中正确呈现嵌入的Gist,但这些解决方案在WordPress站点上有效,而不是在非WP站点上仅从WP获取帖子 你知道如何解决这个问题吗 编辑: 根据,我尝试从post中提取脚本标记,并将其重新注入DOM。但是,它仍然不起作用。实际上,即使只是将Gist脚本加载到一个变量中,然后将内容注入DOM,它也不起作用。但它可以与任何其他脚本一起使用,例如: con

在我的WP帖子中添加了一个嵌入的Gist之后,当通过restapi获取它时,我看到的只是嵌入代码,意思是

有一些解决方案可以在WordPress中正确呈现嵌入的Gist,但这些解决方案在WordPress站点上有效,而不是在非WP站点上仅从WP获取帖子

你知道如何解决这个问题吗

编辑: 根据,我尝试从post中提取
脚本
标记,并将其重新注入DOM。但是,它仍然不起作用。实际上,即使只是将Gist脚本加载到一个变量中,然后将内容注入DOM,它也不起作用。但它可以与任何其他脚本一起使用,例如:

const tag = document.createElement('script');
tag.src = 'https://my-site.com/test.js';
document.querySelector('body').prepend(tag);
但是完全相同的代码片段使用MyGist URL无法执行


为什么Gist脚本在注入DOM时不执行?

页面加载后会呈现脚本,因此当您在浏览器中发出rest请求时,您只会收到一个包含post信息的JSON响应。由于尚未加载页面,因此未执行脚本

例如,看看这篇文章。在本例中,当他检索一篇文章时,您会得到一个json响应,如下所示

您的解决方案是解析响应,并提取脚本标记。然后选择包含GitHub gist的脚本标记


一旦你有了标签,你就可以将它嵌入到你的非wp站点中,只要嵌入标签即可。

我相信这是因为GitHub使用
document.write
插入嵌入的小部件。但是,网页完全加载后,不应使用
document.write

//https://gist.github.com/nat/5fdbb7f945d121f197fb074578e53948.js

document.write('你能提供更多细节吗?你正在建设什么非WP站点?你在使用WP has headless CMS吗?如果是的话,你在使用什么前端技术?对你有帮助吗?谢谢,我理解你关于提取脚本标记然后重新注入DOM的说法。但是,一旦重新注入DOM,它不会也无法执行,我想一个简单的名称在DOM中显示为“
”没有实际执行?@drake035我觉得你是在从服务器而不是客户端调用api,所以认为你可以从服务器提取并嵌入到你的页面上,然后在客户端请求时提供页面。如果你需要在页面加载后从客户端执行,似乎有一个数字一系列解决方案,如:谢谢。刚刚使用(createElement、appendChild…)将我的要点插入DOM。我现在看到的脚本标记正是我插入它的位置。但是…它没有执行,只是在那里什么也没有做。我是否遗漏了什么?@drake035没有看到你的代码,我不能说。我建议你创建一篇新的帖子,描述你在页面加载后添加脚本的努力,以及要报告的最少代码量介绍你的问题。如果你这样做,我相信会有几个人能够插话,因为这是一个更常见的问题。因为我正在睡觉,正在用手机打字,我会有一段时间无法回复