【问题标题】:Including Zepto or jQuery at runtime in Symfony2Symfony2 在运行时包含 Zepto 或 jQuery
【发布时间】:2013-04-15 23:21:29
【问题描述】:

我正在尝试将 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 文件夹并完成它,但我希望我保持标准并能够隐藏库。

非常感谢

【问题讨论】:

    标签: php javascript symfony zurb-foundation


    【解决方案1】:

    这可能会奏效。

    <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>
    

    【讨论】:

      猜你喜欢
      • 2014-11-28
      • 2012-08-14
      • 2014-07-15
      • 1970-01-01
      • 2013-03-12
      • 1970-01-01
      • 2012-02-02
      • 1970-01-01
      • 2018-02-24
      相关资源
      最近更新 更多