Ich benutze Snap Framework mit Heist Templating Engine. Das Problem ist, dass Heist korrumpiert JavaScript-Code in HTML inlined:Wie man Javascript in der Überfallvorlage vor der Flucht bewahren kann?
<script type="text/javascript">alert('hello');</script>
Verwandelt in:
<script type="text/javascript">alert('hello');</script>
Wie kann ich Heist sagen Inhalt des script
Tag zu bewahren?
Edit: ich nur solche Splice implementiert:
verbatimSplice :: MonadIO m => Splice m
verbatimSplice = do
node <- getParamNode -- get <script> node
stopRecursion -- stop recursive processing of splices
lift $ liftIO $ print node -- show me the node
return [node] -- return <script> as is
Aber Bindung dieses Spleiß Script-Tag hilft nicht. Er druckt
Element "script" [("type","text/javascript")] [Text "alert('hello');"]
so, denke ich, html Einheit Substitution erfolgt nach alle Spleißstellen läuft.
Heh, das ist amüsant. Technisch gesehen sollte letzteres funktionieren (nach Spezifikationen und anderem), aber natürlich ist die Browser-Compliance in diesem Bereich nicht korrekt. Wenn Heist keine besonderen Vorkehrungen für Script-Tags hat, könnte das ein wenig schwierig sein: Du musst jeden Kommentar verwenden, den Hokuspokusmenschen heutzutage verwenden. –
@Edward, Es ist schade, aber Firefox (mindestens 3.6.13) versteht das letztere Skript nicht. Können Sie auf Spezifikationen verweisen, die erklären, warum es sollte? –