Elm:如何使用 iframe
Elm: how to use an iframe
我想在给定 String
输入的情况下呈现 iframe
。例如,我有一些像这样的 HTML 字符串:
str = "<!DOCTYPE html><html><head></head><body>HELLO ELM</body></html>"
在 JS 中,我会通过在 iframe
上设置 innerHtml
来做到这一点。
现在,我试图让 iframe
渲染任何东西,但没有成功。我正在尝试这种事情:
iframe
[]
[ body [] [ div [][text "hi"], div [][text "hi"] ] ]
一旦我让它与 HTML 节点列表一起工作,我将继续让它与字符串一起工作。我正在寻找的是某种 stringToHtml: String -> List Html
方法。
对于开始使用 elm 中的 iframe 有任何帮助或建议吗?
您可以使用 iframe 的 srcdoc
属性从 html 字符串设置 html,如下所示:
import Html exposing (..)
import Html.Attributes exposing (srcdoc)
main =
div [ ]
[ div [] [ text "Outside the iframe" ]
, iframe
[ srcdoc "<div>Inside the iframe</div>" ]
[]
]
(IE 和 Edge 目前不支持 srcdoc
但有一个 polyfill)
不过,最后,这是一个相当脆弱的解决方案,因为它绕过了虚拟 DOM。此时,似乎没有其他方法可以在 Virtual DOM 中操作 iframe 内容。您的内容是否可以存储在另一个页面中并通过 iframe src
属性引用?
我想在给定 String
输入的情况下呈现 iframe
。例如,我有一些像这样的 HTML 字符串:
str = "<!DOCTYPE html><html><head></head><body>HELLO ELM</body></html>"
在 JS 中,我会通过在 iframe
上设置 innerHtml
来做到这一点。
现在,我试图让 iframe
渲染任何东西,但没有成功。我正在尝试这种事情:
iframe
[]
[ body [] [ div [][text "hi"], div [][text "hi"] ] ]
一旦我让它与 HTML 节点列表一起工作,我将继续让它与字符串一起工作。我正在寻找的是某种 stringToHtml: String -> List Html
方法。
对于开始使用 elm 中的 iframe 有任何帮助或建议吗?
您可以使用 iframe 的 srcdoc
属性从 html 字符串设置 html,如下所示:
import Html exposing (..)
import Html.Attributes exposing (srcdoc)
main =
div [ ]
[ div [] [ text "Outside the iframe" ]
, iframe
[ srcdoc "<div>Inside the iframe</div>" ]
[]
]
(IE 和 Edge 目前不支持 srcdoc
但有一个 polyfill)
不过,最后,这是一个相当脆弱的解决方案,因为它绕过了虚拟 DOM。此时,似乎没有其他方法可以在 Virtual DOM 中操作 iframe 内容。您的内容是否可以存储在另一个页面中并通过 iframe src
属性引用?