我试图创建一个自动拉伸背景以填充窗口的功能。代码在除IE 8之外的所有浏览器中都能正常工作,没有任何反应。只是,没有!
这是我正在处理的网站:http://goo.gl/BlqDS
这里是javascript文件(主要是jQuery):http://goo.gl/ITuUa
相关代码位于第一个jQuery(document).ready()
的顶部。
我在IETester进行测试,它经常崩溃,表现得很奇怪,所以我不能100%确定它不能正常工作,但我很确定它是不是不。我在IETester上使用调试工具栏,我从控制台得不到任何东西。我应该至少得到"没有找到背景"。
有什么建议吗?几个小时以来一直在看这个!
答案 0 :(得分:0)
发生的事情是img src
未正确设置(您可能会注意到IE8中左上方的图像已损坏)。我通过查看IE的开发人员工具来解决这个问题。src
为空,它尝试设置一个属性,该属性是图像URL的名称的一部分。我不是百分百肯定为什么,但你可以试一试:
- jQuery('body').append('<img id="body-background-img" src="'+ burl +'" />')
+ jQuery('body')
+ .append(jQuery("<img>", {'id': 'body-background-img', 'src': burl}));
答案 1 :(得分:0)
正如@ explosion-pills已经确定的那样,IE正在CSS中的URL周围添加引号,因此您可以使用正则表达式来获取实际的URL:
var burl = jQuery('body.custom-background').css('background-image');
burl = burl.match(/^url\((['"]*)(.*)(\1\))$/)[2];
这里正则表达式中的\1
指的是第一个捕获的子模式,它是引号(无论是单个,双重还是不存在)。
答案 2 :(得分:-1)
也许你想尝试而不是
jQuery(document).ready(function() {...});
尝试使用
$(function () {...});