2013-05-04 9 views
5

Chciałbym umieścić następujący fragment kodu w aplikacji wiąz Piszę:Czy istnieje dobry sposób wstawiania losowych fragmentów HTML/JS w wiąz?

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

Próbowałem za pomocą [markdown|..|] quasi-Quoter,

header = plainText "blah, blah." 
gist = [markdown| 
<script src='https://gist.github.com/jpaugh/2988462.js'></script> 
|] 

main = flow down [header, gist] 

I to zgłasza błąd że wyraźnie reprezentuje błąd w Elm i umieszcza całą moją zawartość wewnątrz <noscript>.

<noscript> 
    <p>blah, blah</p> 
    <p><script src='https://gist.github.com/jpaugh/2988462.js'></script> 
    </p> 
</noscript> 

Ale czy jest inny sposób na zrobienie tego? Używanie składni Markdown do wstawiania fragmentów html wydaje mi się niestosowne. Czy jest to objęte jedną z funkcji bibliotecznych? I jak powinienem to odizolować od własnego javascriptu Elma? (Używanie numeru nie wydaje się pomocne.)

Edytuj: Oto komunikat o błędzie. To pokazuje się na ekranie, a nie kod.

error msg

+0

Co to jest błąd jesteś odbierania i dlaczego wprowadzenie tego wnętrza obniżki? – SnareChops

+0

Używam przeceny, ponieważ jej składnia umożliwia wstawienie dowolnych fragmentów html. – jpaugh

+0

Ach, po szybkim wyszukiwaniu widzę, że Wiąz jest zupełnie innym językiem. Niestety, zastanawiałem się, dlaczego po prostu nie wstawiłeś tagu bezpośrednio. Mam nadzieję, że otrzymasz odpowiedź. – SnareChops

Odpowiedz

4

To może być najlepszy wziąć to na odwrót: nie używać JS/CSS do „domeny” bałagan wiąz i raczej osadzić wiąz w normalnym HTML: można zrobić to, co chcesz na zewnątrz pudełka wiązu i nadal uruchamiać JS zewnątrz:

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

Ale myślę, że można osiągnąć zawartość z tego fragmentu już w Elm bez użycia JavaScript, nie jestem pewien, co jest rzeczą jesteś próbując w końcu osiągnąć.

4

Zrobiłem to, ponieważ jestem zły.

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

podstawie Html i Html.Attributes odpowiednio. Przykład użycia:

div [] [ script' [] "alert(tremble in fear elm);" ] 

jako taki

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 ] 
Powiązane problemy