5

我想在我正在编写的 elm 应用程序中嵌入以下代码段:

<script src="https://gist.github.com/jpaugh/2988462.js"></script>

我试过使用[markdown|..|]准报价器,

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 隔离?(使用 an<iframe>似乎没有帮助。)

编辑:这是错误消息。这是屏幕上显示的内容,而不是代码。

错误信息

4

2 回答 2

4

最好换一种方式:不要使用 JS/CSS 来搞乱 elm 的“域”,而是将 elm 嵌入到普通 HTML 中:你可以在 elm 盒子之外做你想做的事情并仍然运行你的 JS外部:

http://elm-lang.org/blog/announce/version-0.8.elm#embedding-elm-in-html-and-js

但是我认为您可以在不使用任何 JavaScript 的情况下在 Elm 中实现该片段中的内容,我不确定您最终要实现的目标是什么。

于 2013-06-02T16:17:45.567 回答
3

更新:不再可能


我这样做,因为我是邪恶的。

script' : List Attribute -> String -> Html
script' attrs s = node "script" attrs [ text s ]

基于HtmlHtml.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 ]
于 2015-05-30T06:30:15.207 回答