如何使用gist markdown嵌入Google-CSE?

时间:2019-03-30 05:10:09

标签: markdown embed gist google-custom-search medium.com

我想将Google-CSE嵌入要点减价,然后将其嵌入中。

最终目的:在“中”上显示搜索栏

尝试:

1。无法直接在Medium上嵌入Google-CSE。

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


2。使用markdown嵌入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 />


感谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

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

GitHub在github/markup中记录了其整个标记处理过程。有关的是步骤2:

  
      
  1. 已对HTML进行了清理,积极删除了可能危害您和您的亲属的东西,例如script标签,内联样式和class或   id个属性。
  2.   

消毒剂将去除将大部分内容嵌入页面所需的任何碎片。该文档的previous version指向实际的sanitation filter,其中不允许scriptiframeobjectembed标签以及其他标签(技术上,过滤器将禁止所有whitelist之外的内容,并且所有这些标签均不在白名单中)。筛选器会从文档中剥离所有不允许的标签和/或属性及其内容。由于update删除了过滤器的链接并没有提供解释,因此我们无法确定GitHub仍使用相同的过滤器,但是可以合理地预期,如果他们更改了过滤器,则新过滤器将具有非常相似的过滤器行为。

如果您好奇GitHub为什么会觉得有必要禁止此类事情,那么我建议您了解跨站点脚本(XSS)的危险。毫无疑问,这也可以阻止其他可能的攻击,但是XSS本身已经足够严重,足以证明禁止使用任何类型的第三方脚本。