我这几天正在开发一个网站,我为我的网站开发了一个选项,以便用户可以更改背景图像。
我之前使用的是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完成它吗?
答案 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中有空格或括号或类似内容,但除此之外,您的代码很好,并且适用于我在所有带或不带引号的浏览器中。