我使用Play!1.2.5和Greenscript 1.2.8b。我希望有一个后备的jQuery和其他javascript库,如果一个CDN不响应。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="@{'public/javascripts/jquery-1.7.2.min.js'}">x3C/script>')</script>
这工作得很好,但有办法做到这一点与Greenscript?
我曾尝试做同样的事情与greenscript,但其他脚本依赖于jQuery加载在同一时间,将打破网站:
#{greenscript.js 'https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js' }
window.jQuery || document.write('<script src="@{'public/javascripts/jquery-1.7.2.min.js'}">x3C/script>')
#{/greenscript.js}
如果有这样的东西就好了:
js.default=https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js || jquery-1.7.2.min
您的要求不太可能实现,因为greenscript在解析标记时不应该测试网络连接,因为很可能在预编译时internet不可用。
我建议你使用<script>
标签而不是greenscript来加载jquery。
顺便说一句,1.2.8b是一个过时的版本。因为playframework不接受模块更新,你应该按照https://gist.github.com/greenlaw110/2868365更新你的greenscript版本。