Javascript 如何根据URL传递的变量为中的创建自定义背景图像?

Javascript 如何根据URL传递的变量为中的创建自定义背景图像?,javascript,background-image,Javascript,Background Image,我试图允许非常原始的定制,基于能够通过URL传递变量。例如,如果他们通过以下途径访问我的网站: 我将能够显示一个图像,无论是作为标签还是作为背景图像,只要是可行的,称为image-a.png 但如果它们的价值不同: http://my.stackexchange.com?c=beta 那么图像就不同了 这在服务器端会更容易,但我想知道是否有办法做到这一点,比如说,使用javascript,我可以在自定义头中调用它。或者其他一些想法 是的,这已经被放在meta.stackexchange.com

我试图允许非常原始的定制,基于能够通过URL传递变量。例如,如果他们通过以下途径访问我的网站:

我将能够显示一个图像,无论是作为标签还是作为背景图像,只要是可行的,称为image-a.png

但如果它们的价值不同:

http://my.stackexchange.com?c=beta
那么图像就不同了

这在服务器端会更容易,但我想知道是否有办法做到这一点,比如说,使用javascript,我可以在自定义头中调用它。或者其他一些想法

是的,这已经被放在meta.stackexchange.com上了,但是我想知道是否有来自更广泛编程社区的想法,关于我如何在只能放置html和有限javascript的限制下实现这一点


谢谢。

在本例中,您可以查看get参数,即javascript中的c,并使用javascript将img标记的src更改为您想要的任何内容。

请查看JQuery out…JQuery.com

这里有一个例子,来自一个可能接近你需要的人


这向您展示了如何获取parms…然后您可以使用简单的JQuery加载一个diff映像。

首先使用JQuery获取URL参数

。。。或者只是javascript

现在您已经有了参数,可以使用jquery修改图像标记src参数


您也可以不使用jquery来实现这一点,但我会选择jquery,因为听起来您可能有复杂的javascript需求。

假设您只有一个参数c,您可以通过以下行获得它:

var c = /\?c=(.*)/.exec(document.baseURI)[1];
这应该适用于完美的情况:只有一个且只有正确格式的参数c。如果没有参数,则会引发错误

更一般的方法可以是:

function getURLParameter(key) {
    var ret = (new RegExp('[?](\?:.*&)*'+key+'=([^&#]*)','')).exec(document.baseURI);
    return ret?ret[1]:null;
}

您可以在加载文档时调用它,并相应地更改图像。这一部分应该很简单,尽管我认为这已经接近开始,虽然图像源更改有点复杂,因为使用鼠标悬停,但我认为可以使用jquery,并且基于变量的if===将检查它。。。。