2

我正在尝试将 Foundation 框架合并到 Symfony2 中。

我复制了 app/Resources 文件夹中的所有 css/js 资产,并且能够引用它们。但是,有一部分没有正确包含:

 <script>
  document.write('<script src=' +
  ('__proto__' in {} ? '../app/Resources/public/js/vendor/zepto' : '../app/Resources/public/js/vendor/jquery') +
  '.js><\/script>')
  </script>

那就是我无法加载 jQuery 或 Zepto。如何转换上述语句,使其使用 Symfony 2 资产语法。

就像是:

  <script>
if ('__proto__' in {})
{
  {% javascripts '../app/Resources/public/js/vendor/zepto.js' %}
    <script type="text/javascript" src="{{ asset_url }}"></script>      
{% endjavascripts %}
}

Else
{
  {% javascripts '../app/Resources/public/js/vendor/jquery.js' %}
    <script type="text/javascript" src="{{ asset_url }}"></script>      
{% endjavascripts %}
}

我知道我可以轻松地将基础资产复制到 web 文件夹并完成它,但我希望我能保持标准并能够隐藏库。

非常感谢

4

1 回答 1

2

这可能会奏效。

<script>
var zeptoSrc = "{% javascripts '../app/Resources/public/js/vendor/zepto.js' %}{{ asset_url|e('js') }}{% endjavascripts %}";
var jquerySrc = "{% javascripts '../app/Resources/public/js/vendor/jquery.js' %}{{ asset_url|e('js') }}{% endjavascripts %}";

document.write('<script src="' + ('__proto__' in {} ? zeptoSrc : jquerySrc) + '"><\/script>');
</script>
于 2013-04-16T05:23:46.973 回答