我想将以下代码段嵌入我正在编写的elm应用程序中:
<script src="https://gist.github.com/jpaugh/2988462.js"></script>
我尝试过使用[markdown|..|]
quasi-quoter,
header = plainText "blah, blah."
gist = [markdown|
<script src='https://gist.github.com/jpaugh/2988462.js'></script>
|]
main = flow down [header, gist]
这会引发错误,明确代表Elm中的错误,并将我的所有内容放入<noscript>
。
<noscript>
<p>blah, blah</p>
<p><script src='https://gist.github.com/jpaugh/2988462.js'></script>
</p>
</noscript>
但还有另一种方法吗?使用Markdown语法插入html代码段对我来说似乎不稳定。这是否由其中一个库函数覆盖?我应该如何将它与Elm自己的javascript隔离开来? (使用<iframe>
似乎没有帮助。)
编辑:这是错误消息。这是显示在屏幕上的内容,而不是代码。
答案 0 :(得分:4)
最好采取相反的方式:不要使用JS / CSS搞砸榆树的“域”,而是将elm嵌入普通HTML中:你可以在榆树盒之外做你想做的事情在外面运行你的JS:
http://elm-lang.org/blog/announce/version-0.8.elm#embedding-elm-in-html-and-js
但是我认为你可以在不使用任何javascript的情况下从Elm中的那个片段中获取内容,我不确定你最终想要实现的是什么。
答案 1 :(得分:4)
script' : List Attribute -> String -> Html
script' attrs s = node "script" attrs [ text s ]
分别基于Html
和Html.Attributes
。用法示例:
div [] [ script' [] "alert(tremble in fear elm);" ]
就是这样
script : List Attribute -> List Html -> Html
script attrs children = node "script" attrs children
scriptSrc : String -> Html
scriptSrc s = script [ type' "text/javascript", src s ] []
scriptRun : String -> Html
scriptRun s = script [ type' "text/javascript" ] [ text s ]