我想在gist markdown上嵌入Google-CSE,然后将其嵌入到Medium中。
最终目的:在Medium上显示搜索栏
尝试:
1.不能将Google-CSE直接嵌入Medium。
https://i.imgur.com/DPGiV6X.jpg
2.使用标记嵌入要点(全部失败)
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 />
谢谢你的任何建议。
您不能在任何GitHub.com页面上嵌入任何内容,包括要点。
GitHub在github/markup中记录了他们的整个标记处理过程。相关的是第2步:
- HTML被消毒,积极地删除可能伤害你和你的亲属的东西 - 例如
script
标签,内联样式和class
或id
属性。
清洁剂将删除在页面中嵌入大部分内容所需的任何部分。该文件的previous version指向实际的sanitation filter,其中不允许使用script
,iframe
,object
和embed
标签(技术上,过滤器不允许whitelist上没有的所有内容,并且所有这些标签都不在白名单上)。过滤器从文档中剥离所有不允许的标记和/或属性及其内容。由于删除了过滤器链接的update没有提供任何解释,我们无法确定GitHub是否仍然使用相同的过滤器,但是如果他们更改了过滤器,那么新过滤器将具有非常相似的行为是合理的。
如果您很好奇为什么GitHub会觉得有必要禁止这些事情,那么我建议您了解跨站点脚本(XSS)的危险性。毫无疑问,还有其他可能的攻击也会阻止这种攻击,但XSS本身就足够严重,无法证明不允许任何类型的第三方脚本。