在 GitHub README.md 中嵌入 JavaScript

Posted

技术标签:

【中文标题】在 GitHub README.md 中嵌入 JavaScript【英文标题】:Embed JavaScript in GitHub README.md 【发布时间】:2014-02-15 22:15:03 【问题描述】:

我想在 GitHub README 文件中嵌入推文。 Markdown 应该支持这一点,但是当我添加从推文复制的代码时,javascript 不会被渲染。

例子:

<blockquote>...</blockquote> <script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

有什么想法吗?

【问题讨论】:

我不确定你是否可以在 Markdown 中嵌入 JavaScript。 您确实意识到,如果我可以在此评论中嵌入 JavaScript,我可以四处寻找新问题,帮助您否决几个问题,为您发布新问题,更改您的姓名或个人资料图片,让你被禁止,对吧?您认为在您的网站上允许任何脚本是个好主意吗?您更有可能通过让 Github 启用 Markdown 嵌入或其他方式来嵌入推文。 【参考方案1】:

直接在网站上允许来自第三方的 javascript 具有巨大的 XSS 攻击影响。例如,有人可以使用 javascript 代码获取与任何访问者的 github 帐户关联的 cookie,并将它们转发给恶意实体。

还有潜在的麻烦,因为访问 javascript 意味着可以访问访问者的 CPU 并能够执行弹出窗口或闪烁文本等操作。

因此,自述文件中不支持 javascript 是很自然的。 Markdown可能有办法做到这一点,但绝不会在 GitHub 之类的网站上使用。

但是,你可以在你的项目的github page 上进行,如果你有的话,因为它不属于主 github 网站并且域也不相同。

【讨论】:

好吧,如果您拥有自述文件,那么您为什么要保护自己免于制作闪烁的文本?按照这种逻辑,我们应该在网站上禁用 javascript,因为网站的所有者可能“能够做诸如弹出窗口或闪烁文本之类的事情” JavaScript 还可以更改 GitHub 的登录表单的操作,以便登录将用户的凭据发送到您自己的恶意服务器。然而,这可以通过强制 js 按照 D1plo1d 的建议在 iframe 中运行来缓解。 他们最近允许您自定义您的个人资料主页,所以我试图在其中加载一个 JavaScript 游戏; source【参考方案2】:

作为coyotte508回答的后续(抱歉,积分不够直接回复):

如果 Github 要启用这样的功能,他们可以使用 iFrames 作为对抗 XSS 的有效措施,就像 ReadTheDocs 一样。

编辑:您可能还想查看 readthedocs.org 作为 Github README.md 的替代品。它们支持在 rst 文件中嵌入 javascript。

【讨论】:

以上是关于在 GitHub README.md 中嵌入 JavaScript的主要内容,如果未能解决你的问题,请参考以下文章

GitHub 项目中的 README 和 README.md 有啥区别?

在 Github 的 README.md 中添加带有链接的图像?

在 Github readme.md 中添加音频

图片未显示在 GitHub 上的 README.md 中

如何在Markdown(README.md)中使用Github按钮

Github README.md中添加图片