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 文件中的所有图像添加另一个“../”。我怎样才能在不每次都手动更改数组的情况下完成这项工作?
谢谢:)
如果你使用 blade 然后像这样写 backstretch:
$.backstretch([
"{{asset("img/header-tt-big.jpg")}}",
"{{asset("img/header-soccer-big.jpg")}}"
]
正如@ITroubs 指出的那样,如果您在 blade 模板(<script>
标记)中有 javascript 代码,您可以而且应该使用 asset()
生成网址。但是不要忘记额外的引号,所以 javascript 将其解释为字符串。
$.backstretch([
"{{ asset('img/header-tt-big.jpg') }}",
"{{ asset('img/header-soccer-big.jpg') }}"
]
但是,如果您将 javascript 代码放在单独的 .js 文件中(实际上是推荐的),您将无法这样做。相反,我建议您在布局 blade 模板 之前定义一个 assetBaseUrl
需要它的 javascript 代码:
<script>
var assetBaseUrl = "{{ asset('') }}";
</script>
用法:
$.backstretch([
assetBaseUrl + "img/header-tt-big.jpg",
assetBaseUrl + "img/header-soccer-big.jpg"
]
好的,我在脚本标签中添加了内联脚本。但是我确实把它放在了一个单独的文件中,比如 p1-inline.blade.php。所以我可以只包括那个。谢谢 ;)
在我的 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 文件中的所有图像添加另一个“../”。我怎样才能在不每次都手动更改数组的情况下完成这项工作?
谢谢:)
如果你使用 blade 然后像这样写 backstretch:
$.backstretch([
"{{asset("img/header-tt-big.jpg")}}",
"{{asset("img/header-soccer-big.jpg")}}"
]
正如@ITroubs 指出的那样,如果您在 blade 模板(<script>
标记)中有 javascript 代码,您可以而且应该使用 asset()
生成网址。但是不要忘记额外的引号,所以 javascript 将其解释为字符串。
$.backstretch([
"{{ asset('img/header-tt-big.jpg') }}",
"{{ asset('img/header-soccer-big.jpg') }}"
]
但是,如果您将 javascript 代码放在单独的 .js 文件中(实际上是推荐的),您将无法这样做。相反,我建议您在布局 blade 模板 之前定义一个 assetBaseUrl
需要它的 javascript 代码:
<script>
var assetBaseUrl = "{{ asset('') }}";
</script>
用法:
$.backstretch([
assetBaseUrl + "img/header-tt-big.jpg",
assetBaseUrl + "img/header-soccer-big.jpg"
]
好的,我在脚本标签中添加了内联脚本。但是我确实把它放在了一个单独的文件中,比如 p1-inline.blade.php。所以我可以只包括那个。谢谢 ;)