我在 Smarty 2 模板文件中有以下 JavaScript 块。
代码与提供商提供给我的内容一字不差,但值得注意的是,我不得不添加许多Smarty 标记来替换 JavaScript{ldelim}
和.{rdelim}
{
}
我需要输入$log_id
,这不会改变,但是有没有办法让我编写这个更清洁的东西而不需要所有这些标签使代码看起来不那么可读?
我知道这个{literal}
标签,但是打开和关闭这个标签可能会降低它的可读性。
<script type='text/javascript'>
window.Muscula = {ldelim} settings:{ldelim}
logId:"{$log_id}", suppressErrors: false, branding: 'none'
{rdelim}};
(function () {ldelim}
var m = document.createElement('script'); m.type = 'text/javascript'; m.async = true;
m.src = (window.location.protocol == 'https:' ? 'https:' : 'http:') +
'//musculahq.appspot.com/Muscula.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(m, s);
window.Muscula.run=function(c){ldelim}eval(c);window.Muscula.run=function(){ldelim}{rdelim};{rdelim};
window.Muscula.errors=[];window.onerror=function(){ldelim}window.Muscula.errors.push(arguments);
return window.Muscula.settings.suppressErrors===undefined;{rdelim}
{rdelim})();
</script>