0

我想在 gist markdown 上嵌入 Google-CSE,然后将其嵌入到 Medium 上。

最终目的:在 Medium 上显示搜索栏

试过:

1.不能在 Medium 上直接嵌入 Google-CSE。

https://i.imgur.com/DPGiV6X.jpg


2.使用markdown embed on gist(全部失败)

2-1。<iframe></iframe>

2-2。<object></object>

2-3。<script></script>

<script>
  (function() {
    var cx = '015605450483368086706:7jlic1sqlvi';
    var gcse = document.createElement('script');
    gcse.type = 'text/javascript';
    gcse.async = true;
    gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(gcse, s);
  })();
</script>
<gcse:search></gcse:search>

2-4。<embed src="https://cse.google.com/cse?cx=018064005093677680301:cmhz2glhxjy" width=200 height=200 />


感谢您的任何建议。

4

1 回答 1

0

您不能在任何 GitHub.com 页面上嵌入任何内容,包括要点。

GitHub 在github/markup中记录了他们的整个标记处理过程。这里相关的是第2步:

  1. HTML 被净化,积极删除可能伤害您和您的亲属的东西,例如script标签、内联样式和class/或 id属性。

消毒剂将删除在页面中嵌入大多数内容所需的任何部分。该文档的先前版本指向实际的卫生过滤器,它禁止scriptiframe和标签objectembed(从技术上讲,过滤器不允许不在白名单上的所有内容,并且所有这些标签都不在白名单上)。过滤器从文档中删除所有不允许的标签和/或属性及其内容。由于删除过滤器链接的更新没有提供任何解释,我们不能确定 GitHub 是否仍然使用相同的过滤器,但可以合理地预期,如果他们更改过滤器,新过滤器将具有非常相似的行为。

如果你好奇为什么 GitHub 会觉得有必要禁止这样的事情,那么我建议你了解一下跨站脚本 (XSS) 的危险。毫无疑问,这也可以防止其他可能的攻击,但是 XSS 本身肯定足够严重,可以证明不允许任何类型的第三方脚本是合理的。

于 2019-04-01T17:31:16.340 回答