2015-09-07 7 views
2

В принципе, я новичок в программировании, и мне сказали начать с Clojure и Hoplon (который использует Clojurescript). Я пытаюсь перевести код Google Analytics в clojurescript, и я понял, что понятия не имею, как это сделать. Может кто-то пожалуйста перевести этот код? Я также очень благодарен за объяснение того, как это сделать, если это возможно. Я ценю любую помощь, которую я могу получить от этого. (Я искал и все, что я нашел, были маленькие фрагменты переводов, но никогда не вся вещь, так что я не знаю, как это осуществить.)Перевести javascript на Clojurescript

<script> 
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 

    ga('create', 'GOOGLE-ANALYTICS-ID', 'auto'); 
    ga('send', 'pageview'); 

</script> 

Опять же, спасибо за любую помощь.

+3

Рассматривали ли вы идею начать изучать Clojurescript? – InferOn

+0

Из того, что я понимаю, Hoplon является подмножеством Clojurescript, поскольку он построен на Clojurescript, и все, что написано в Clojurescript, все еще работает в Hoplon. – Aaron

+0

@Aaron, если Hoplon является подмножеством Clojurescript, это означает, что есть код Clojurescript, который не является кодом Hoplon. Разве там не было бы вещей, написанных в Clojurescript, которые бы не работали в Hoplon? (Не быть слишком ничтожным - я ничего не знаю о Hoplon.) – Mars

ответ

3

Вам необязательно передавать этот код обязательно (или даже желательно). Здесь в качестве примера фрагмент пасты проекта 'learndatalogtoday':

https://github.com/jonase/learndatalogtoday/blob/master/src/clj/learndatalogtoday/views.clj

(def google-analytics-string 
    "(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
    })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 
    ga('create', 'UA-40247950-2', 'learndatalogtoday.org'); 
    ga('send', 'pageview');") 

и позже:

(html5 
    [:head 
    (include-css "/third-party/bootstrap/css/bootstrap.css") 
    (include-css "/style.css") 
    [:title "Learn Datalog Today!"] 
    [:script google-analytics-string]] 
+0

Круто! Да мужик. Это была отличная идея, и я думаю, что это сработало. (сценарий появляется, но GA еще не работает. Возможно, что-то еще не так, хотя ...) :-) Я даже не думал, что это будет строка! Большое спасибо! – Aaron

Смежные вопросы