我正在使用 Laravel 4
如何在 .css 或 .js 文件中添加图像链接。
如果我把这样的相对路径:
background-image: url("../assets/images/assets.png");
只有当我的 View 是这样时它才会加载文件
/mysite/users
如果我的 View 的 url 从
/mysite/users
到
/mysite/users/job/10/something
它不会加载。
我可以这样放置完整路径:
background-image: url("/mysite/assets/images/assets.png");
但是如果我必须创建这个网站的副本,比如“theSite”,我将不得不打开我所有的 css 文件和 .js 文件,并将/mysite 替换为/theSite
有没有聪明的方法来做到这一点?就像我在 View 中使用的那样:
{{ URL::to('style.css') }}
.
EDITED
ceejayoz 是正确的。
但是如果您需要一个调用 Controller 的 .js 文件,您可以这样做:
创建这条路线:
Route::get('/js/custom.js ', function()
{
$contents = View::make('js/custom');
$response = Response::make($contents, 200);
$response->header('Content-Type', 'application/javascript');
return $response;
});
创建 custom.blade.php View 并放入此 js 内容:
$('#inputX').change(function() {
$.ajax({
url: "{{URL::to('track/data')}}",
type: "GET",
cache: false,
async: sync,
data: {
doit: $('#inputX').val()
},
success: function(data)
{
console.log(data)
}
});
});
你怎么看?
最佳答案
CSS 文件中的 URL 是相对于 CSS 文件的,而不是它所使用的页面。你所在页面的 URL 是什么并不重要 - 如果你的 CSS 在 public/css
中并且你使用 ../images/something.jpg
,无论页面的 URL 是什么,它都会使用 public/images/something.jpg
。
关于javascript - .css 文件中的图像链接或使用 laravel 中的 .js 文件调用 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24715480/