簡體   English   中英

Laravel - 當路徑改變時,Javascript無法找到圖像

[英]Laravel - Javascript can not find images when path changes

在我的Laravel模板中,我包含一個JS文件。

在這里,我使用的是需要圖像的插件。

    $.backstretch([
        "../img/header-tt-big.jpg",
        "../img/header-soccer-big.jpg"
    ]

所以..當我像這樣去“startpage”時它正在工作: http:// localhost / project / public / de / p1

當我到這里時它將無法工作http:// localhost / project / public / de / p1 / register

我必須為JS文件中的所有圖像添加另一個“../”。 如何在不每次手動更改陣列的情況下完成此工作?

謝謝 :)

正如@ITroubs所指出的,如果你在一個刀片模板( <script>標簽)中有javascript代碼,你可以而且應該使用asset()來生成URL。 但是不要忘記額外的引號,以便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"
]

如果你使用刀片然后寫這樣的后伸:

$.backstretch([
    "{{asset("img/header-tt-big.jpg")}}",
    "{{asset("img/header-soccer-big.jpg")}}"
]

好吧,我在腳本標簽中添加了內聯腳本。 但我確實把它放在一個單獨的文件中,如p1-inline.blade.php。 所以我可以包括那一個。 謝謝 ;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM