使用 javascript 设置背景图像

2023-12-02

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

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

有什么办法可以避免这种行为,或者它是否被写入浏览器的javascript引擎中?使用jquery设置background-image也会出现这个问题。

问题是我将 HTML 发布到需要这种特定格式的 url 的 php 脚本。我知道设置图像路径相对可以解决这个问题,但我不能这样做。

唯一的其他选择是使用正则表达式。来转换网址。

Thanks.

在 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然而你生成图像(服务器端,我猜?)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 javascript 设置背景图像 的相关文章

随机推荐