0

我正在尝试基于能够通过 URL 传递变量来允许非常原始的自定义。例如,如果他们通过以下方式访问我的网站:

http://my.stackexchange.com?c=alpha

我可以将图像显示为标签或背景图像,无论是可行的,称为 image-a.png

但是,如果它们具有不同的价值:

http://my.stackexchange.com?c=beta

然后图像就不一样了。

这将更容易服务器端,但想知道是否有办法做到这一点,例如,使用我可以在自定义标头中调用的 javascript。还是其他一些想法?

是的,这已经放在 meta.stackexchange.com 上,但我想知道是否有来自更广泛的编程社区的想法,关于我如何在只能执行 put html(并且似乎有限的 javascript )。

谢谢。

4

4 回答 4

0

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

于 2010-03-05T22:15:57.383 回答
0

检查 JQuery...jquery.com

这是一个可能接近您需要的人的示例。http://jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html

这向您展示了如何获取参数...然后您可以使用简单的 JQuery 来加载差异图像。

于 2010-03-05T22:17:55.343 回答
0

首先使用 jquery 获取您的 URL 参数...

获取转义的 URL 参数

...或者只是javascript ...

如何在 JavaScript 中获取查询字符串值?

现在您有了参数,您可以使用 jquery 来修改您的图像标签src参数...

使用 jQuery 更改翻转时的图像源

您也可以在不使用 jquery 的情况下执行此操作,但我会选择 jquery 路线,因为听起来您可能有复杂的 javascript 需求。

于 2010-03-05T22:18:37.540 回答
0

假设您只有一个参数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;
}

您可以在文档加载时调用它并相应地更改图像。(虽然那部分应该很容易)

于 2010-03-06T05:00:31.927 回答