【问题标题】:Highlight.js not properly escaped in Heroku when using wicked_pdf使用 wicked_pdf 时,Highlight.js 在 Heroku 中未正确转义
【发布时间】:2014-03-25 17:29:48
【问题描述】:

这是一个非常具体的问题,我相信我已经找到了错误的根源,但不知道如何解决它。基本上,我正在尝试向 Heroku 部署一个应用程序,该应用程序允许用户以 PDF 格式下载他们的笔记(我正在使用 wicked_pdf gem)。 PDF正在正常生成,但是当它返回时,应该有注释的地方有一长串无意义的字符。 PDF 中的文本开头是这样的:

",rE:!0,sL:"javascript"}},{b:"",sL:"vbscript"} ...

并持续几页。事实证明,这段代码是我用于语法突出显示的 highlight.js 库的一部分。当我深入研究上面显示的子字符串的缩小源代码时,我发现它前面有以下内容:

... ,starts:{e:"<\/script>",rE:true,sL:"javascript"} ...

特别是 starts:{e:"&lt;\/script&gt;",它似乎被解释为文字结束标记,导致剩余的 Javascript 被呈现为文本。我想知道之前是否有人遇到过 Heroku 的这个问题,以及我可以采取哪些措施来防止这种情况发生。

【问题讨论】:

    标签: javascript ruby-on-rails heroku wicked-pdf highlight.js


    【解决方案1】:

    我找到了一个解决方案,如果不是这个问题的答案,就是将 highlight.js 的 Javascript 资产服务外包给 cloudflare cdn。虽然这并不能回答为什么会发生这种错误转义的最初问题,但它最终确实解决了我的 pdf 渲染问题。

    话虽如此,我仍然会对为什么会首先出现这个问题感兴趣。如果您有任何见解,请随时将您的见解借给我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-20
      • 2017-01-31
      相关资源
      最近更新 更多