使用javascript在IE 10中更改背景图像

时间:2013-03-29 14:33:04

标签: javascript html internet-explorer-10

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

我之前使用的是Windows 7和XP,改变了背景图像在win 7和XP的Internet Explorer上工作但是最近我移动到IE 10附带的IE 8,当我使用IE 10测试我的网站时,更改背景图像并没有工作。

为什么这些家伙会改变这些东西?我甚至不关心这件事,但仍然有人使用IE浏览器。 :(

这是我的代码

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

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

3 个答案:

答案 0 :(得分:1)

如果图像已经提前知道,如果您在CSS文件的类中指定它,并且只是添加了一个新类,则会减少维护。在jQuery中:

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

但是,由于你使用的是变量,你可以这样做:

$(body).css('background-image', 'url("' + picurl + '")');

答案 1 :(得分:1)

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

body.style.backgroundImage = "url('" + picurl + "')";

答案 2 :(得分: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中有空格或括号或类似内容,但除此之外,您的代码很好,并且适用于我在所有带或不带引号的浏览器中。