我正在使用Laravel 4
如何在.css或.js文件中添加指向图像的链接。
如果我这样说相对路径:
background-image: url("../assets/images/assets.png");
仅当我的视图是这样时,它才会加载文件
/mysite/users
如果我的观点的网址从
/mysite/users
至
/mysite/users/job/10/something
它不会加载。
我可以这样写完整的路径:
background-image: url("/mysite/assets/images/assets.png");
但是,如果必须创建该站点的副本(例如“ theSite”),则必须打开我的所有CSS文件和.js文件,并将/ mysite替换为/ theSite
有什么聪明的方法吗?就像我在视图中使用的那样:
{{ 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视图并将此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
。