0

这些天我正在开发一个网站,我为我的网站开发了一个选项,以便用户可以更改背景图像。

我以前使用 Windows 7 和 XP,更改背景图像在 win 7 和 XP 的 Internet Explorer 上都有效,但最近我移至 IE 10 附带的 Windows 8,当我使用 IE 10 测试我的网站时,更改背景图像不起作用。

为什么这些人要改变这些东西?我什至不应该关心这件事,但仍然有人使用 IE。:(

这是我的代码

 var body = document.getElementsByTagName("body")[0];
 body.style.backgroundImage = "url(" + picurl + ")";

知道如何使用 IE 10 来完成吗?

4

3 回答 3

1

如果图像是事先已知的,那么如果您在 CSS 文件的类中指定它并简单地添加一个新类,则会减少维护。在 jQuery 中:

$(body).addClass('my-bgd-class');

但是,由于您使用的是变量,因此您可以:

$(body).css('background-image', 'url("' + picurl + '")');
于 2013-03-29T14:37:12.703 回答
1

您提供的代码在 IE10 中为我工作。万一您的网址有空格字符,试试这个

body.style.backgroundImage = "url('" + picurl + "')";
于 2013-03-29T14:41:14.383 回答
1

您引用的代码对我来说很好。

我已经做了一个 jsFiddle 来证明它——http: //jsfiddle.net/Ryavz/

var picurl = "http://static.travelblog.org/Wallpaper/pix/waterfall_desktop_background-1600x1200.jpg";  //just a random image I found on the web
var body = document.getElementsByTagName("body")[0];
body.style.backgroundImage = "url("+picurl+")";

上面的代码在 IE10 和其他浏览器中对我来说是一样的。

如果您的网站在 IE10 中存在特定问题,则与您引用的代码无关。

您可能应该在url()样式参数中添加引号,以防 URL 中有空格或括号或类似的东西,但除此之外,您的代码很好,它适用于所有带或不带引号的浏览器.

于 2013-03-29T14:43:31.993 回答