使用javascript设置背景图像

在chrome,safari和opera中将背景图像设置为绝对参考,例如:“/ images / image.png”将其更改为“http://sitepath/images/image.png”.

它不会在Firefox中执行此操作.

有没有办法避免这种行为,还是写入浏览器的javascript引擎?使用jquery设置背景图像也会出现此问题.

问题是我将HTML发布到需要这种特定格式的URL的php脚本.我知道设置图像路径相对修复了这个问题,但我不能这样做.

唯一的另一种选择是使用正则表达式.转换网址.

谢谢.

在firefox和chrome / webkit浏览器中测试:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<div style="height:400px;width:400px;background-image:url(/images/images/logo.gif);">
</div>
<br />
<br />
<div id="test" style="height:400px;width:400px;">
</div>
<script type="text/javascript" src="/javascripts/jquery.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
        $("#test").css('background-image',"url(/images/images/logo.gif)");
        alert(document.getElementById('test').style.backgroundImage);
    });
</script>
</body>
</html>
最佳答案
不确定如何将该位置放入文档中,但您可以使用window.location.hostname来获取域并在其前面添加.

var bgImg = window.location.hostname + '/images/images/logo.gif';
$("#test").css('background-image', 'url('+bgImg+')');

你会用生成图像替换/images/images/logo.gif(服务器端,我猜?)

转载注明原文:使用javascript设置背景图像 - 代码日志