Now, If someone put many custom infromation in Code snippet (before) filed the code don't look good:

<script type="text/javascript">
<!--//--><![CDATA[//><!--
var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-1234567-8"]);_gaq.push(['_addOrganic', 'images.yandex.ru', 'q', true]);
_gaq.push(['_addOrganic', 'blogsearch.google.ru', 'q', true]);
_gaq.push(['_addOrganic', 'blogs.yandex.ru', 'text', true]);
_gaq.push(['_addOrganic', 'go.mail.ru', 'q']);
_gaq.push(['_addOrganic', 'nova.rambler.ru', 'query']);
_gaq.push(['_addOrganic', 'nigma.ru', 's']);
_gaq.push(['_addOrganic', 'webalta.ru', 'q']);
_gaq.push(['_addOrganic', 'aport.ru', 'r']);
_gaq.push(['_addOrganic', 'poisk.ru', 'text']);
_gaq.push(['_addOrganic', 'km.ru', 'sq']);
_gaq.push(['_addOrganic', 'liveinternet.ru', 'ask']);
_gaq.push(['_addOrganic', 'quintura.ru', 'request']);
_gaq.push(['_addOrganic', 'search.qip.ru', 'query']);
_gaq.push(['_addOrganic', 'gde.ru', 'keywords']);
_gaq.push(['_addOrganic', 'gogo.ru', 'q']);
_gaq.push(['_addOrganic', 'ru.yahoo.com', 'p']);
_gaq.push(['_addOrganic', 'akavita.by', 'z']);
_gaq.push(['_addOrganic', 'tut.by', 'query']);
_gaq.push(['_addOrganic', 'all.by', 'query']);
_gaq.push(['_addOrganic', 'meta.ua', 'q']);
_gaq.push(['_addOrganic', 'bigmir.net', 'q']);
_gaq.push(['_addOrganic', 'i.ua', 'q']);
_gaq.push(['_addOrganic', 'online.ua', 'q']);
_gaq.push(['_addOrganic', 'a.ua', 's']);
_gaq.push(['_addOrganic', 'ukr.net', 'search_query']);
_gaq.push(['_addOrganic', 'search.com.ua', 'q']);
_gaq.push(['_addOrganic', 'search.ua', 'query']);
_gaq.push(['_addOrganic', 'search.ukr.net', 'search_query']);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
//--><!]]>
</script>

It should be something like this:

<script type="text/javascript">
<!--//--><![CDATA[//><!--
var _gaq = _gaq || [];_gaq.push(["_setAccount", "UA-1234567-8"]);_gaq.push(['_addOrganic', 'images.yandex.ru', 'q', true])(['_addOrganic', 'blogsearch.google.ru', 'q', true])(['_addOrganic', 'blogs.yandex.ru', 'text', true])(['_addOrganic', 'go.mail.ru', 'q'])(['_addOrganic', 'nova.rambler.ru', 'query'])(['_addOrganic', 'nigma.ru', 's'])(['_addOrganic', 'webalta.ru', 'q'])(['_addOrganic', 'aport.ru', 'r'])(['_addOrganic', 'poisk.ru', 'text'])(['_addOrganic', 'km.ru', 'sq'])(['_addOrganic', 'liveinternet.ru', 'ask'])(['_addOrganic', 'quintura.ru', 'request'])(['_addOrganic', 'search.qip.ru', 'query'])(['_addOrganic', 'gde.ru', 'keywords'])(['_addOrganic', 'gogo.ru', 'q'])(['_addOrganic', 'ru.yahoo.com', 'p'])(['_addOrganic', 'akavita.by', 'z'])(['_addOrganic', 'tut.by', 'query'])(['_addOrganic', 'all.by', 'query'])(['_addOrganic', 'meta.ua', 'q'])(['_addOrganic', 'bigmir.net', 'q'])(['_addOrganic', 'i.ua', 'q'])(['_addOrganic', 'online.ua', 'q'])(['_addOrganic', 'a.ua', 's'])(['_addOrganic', 'ukr.net', 'search_query'])(['_addOrganic', 'search.com.ua', 'q'])(['_addOrganic', 'search.ua', 'query'])(['_addOrganic', 'search.ukr.net', 'search_query']);_gaq.push(["_trackPageview"]);(function() {var ga = document.createElement("script");ga.type = "text/javascript";ga.async = true;ga.src = ("https:" == document.location.protocol ? "https://ssl" : "http://www") + ".google-analytics.com/ga.js";var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(ga, s);})();
//--><!]]>
</script>

I made a patch for this.

I don't know should it also apply for Code snippet (before) filed...

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

hass’s picture

Status: Needs review » Needs work

I guess this will cause side effects as we cannot expect that only push is used in this field. There could be generic JS. We can at very maximum remove line feeds on output.

Plazik’s picture

Status: Needs work » Needs review
FileSize
587 bytes
hass’s picture

Status: Needs review » Closed (won't fix)

It's too risky to remove line breaks as JS code may has no trailing ;. This is still valid and however I like to remove this we may destroy valid JS code. We have already rolled back a JS compressor from D6 core before final D6 release as it would have destroyed valid JS code and we cannot expect jquery code style rules.

#352951: Make JS & CSS Preprocessing Pluggable may be something we can re-use someday's and may trust. I do not like to re-invent the wheel here with all the headaches just for this gimmick with no real benefit.

Closing for this reasons.