在我的Laravel模板中,我包含了一个JS文件。
这里我使用的是需要图片的插件。
$.backstretch([
"../img/header-tt-big.jpg",
"../img/header-soccer-big.jpg"
]
所以..当我像这样去“我的”网页时,它正在工作: http://localhost/project/public/de/p1
当我到这里时,它将无法工作 http://localhost/project/public/de/p1/register
我必须为JS文件中的所有图像添加另一个“../”。如何在不每次手动更改阵列的情况下完成此工作?
谢谢:)
答案 0 :(得分:6)
正如@ITroubs所指出的,如果您在刀片模板(<script>
标记)中包含javascript代码,则可以并且应该使用asset()
来生成网址。但是不要忘记额外的引号,以便javascript将其解释为字符串。
$.backstretch([
"{{ asset('img/header-tt-big.jpg') }}",
"{{ asset('img/header-soccer-big.jpg') }}"
]
但是,如果您将javascript代码放在单独的.js文件中(实际上是推荐),则无法执行此操作。相反,我建议您在需要它的javascript代码之前在布局刀片模板中定义assetBaseUrl
:
<script>
var assetBaseUrl = "{{ asset('') }}";
</script>
用法:
$.backstretch([
assetBaseUrl + "img/header-tt-big.jpg",
assetBaseUrl + "img/header-soccer-big.jpg"
]
答案 1 :(得分:0)
如果你使用刀片,那么写下这样的后伸:
$.backstretch([
"{{asset("img/header-tt-big.jpg")}}",
"{{asset("img/header-soccer-big.jpg")}}"
]
答案 2 :(得分:0)
好的,我在脚本标记中添加了内联脚本。但我确实把它放在一个单独的文件中,如p1-inline.blade.php。所以我可以包括那一个。谢谢;)