Variable in url(..) not possible #190

tristanlins opened this Issue Feb 2, 2011 · 8 comments


None yet

9 participants


I tried to make a function, that using an argument as url(..) value.


.give-a-background(@bg) {
    background: url(@bg) no-repeat left center, ...;

.css-class {

i got a "could not call charAt of undefined" from line 2183 (v 1.0.41), because val.value is undefined.

currently its only possible this way

.give-a-background(@bg) {
    background: @bg no-repeat left center, ...;

.css-class {

Running into this myself. Would be extremely handy for setting base paths.


Try This:

@base: "//";
.background(@image:'', @left:0, @top:0,@repeat:no-repeat){
    @url: %('%s%s',@base, @image);
    background: url(@url) @left @top @repeat;

That's odd, it works just fine here.


@cloudhead I was pointing out to funkatron & trilin how I got it to work.


for anyone else who comes across this issue i found i couldn't get @jiggliemon's solution to work (less 1.1.4) but based on this worked for me

.background-image (@url) {
    background-image: url("@{url}");

i suppose this ticket could be closed?

csnover commented Jan 10, 2012

This only happens in browser environments and is caused by the relative path “fixing” code in the tree.URL ctor. It does not check that val.value actually exists before trying to operate on it.

@csnover csnover added a commit to csnover/less.js that referenced this issue Jan 10, 2012
@csnover csnover Don't try to use variable values that do not exist on the browser. Fi…
…xes #190.

This is an issue when trying to use Twitter Bootstrap 2.0 with less.js in the browser environment.

Bootstrap uses the url(@url) format to pull sprite images in in sprites.less. less.js chokes on the undefined val.value that's passed to tree.URL() and an error is thrown, causing bootstrap not to load.

@csnover 's change resolves the issue for me.

I have updated my local copy of less.js so it's smooth sailing for me, but since this issue prevents Twitter Bootstrap 2.0 from running in the browser environment I hope it will get resolved soon, since others are probably having the same problem. E.g. I'm guessing this SO question might be related:

Meligy commented May 25, 2012

Is the fix available in current release? (asking as I see the bug is still open).

@lukeapage lukeapage closed this in 2c75e4f Aug 18, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment