簡體   English   中英

使用wicked_pdf時,Heroku中的Highlight.js無法正確轉義

[英]Highlight.js not properly escaped in Heroku when using wicked_pdf

這是一個非常具體的問題,我相信我已經找到了錯誤的根源,但是對於如何解決它一無所知。 基本上,我試圖將應用程序部署到Heroku,允許用戶下載PDF格式的筆記(為此我正在使用wicked_pdf gem)。 PDF正常生成,但是返回PDF時,會有一長串毫無意義的字符,應該有注釋。 PDF中的文本開始如下:

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

並持續數頁。事實證明,此代碼是我用於語法突出顯示的highlight.js庫的一部分。 當我仔細查看上面顯示的子字符串的縮小的源代碼時,我發現它前面帶有以下內容:

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

具體starts:{e:"<\\/script>" ,它似乎被解釋為文字結束標記,導致剩余的Javascript被呈現為文本。 我想知道以前是否有人在heroku上遇到過此問題,以及我可以采取哪些措施來防止這種情況的發生。

我找到了一個解決方案,即使不能解決這個問題,也可以將Highlight.js的Javascript資產服務外包給cloudflare CDN。 雖然這不能回答為什么會發生這種錯誤的轉義的原始問題,但最終最終解決了我的pdf呈現問題。

話雖如此,我仍然會對為什么這個問題首先出現感興趣。 如有需要,請隨時向我提供您的見解。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM