javascript - 根据背景图像大小调整 div 大小的脚本——在 Firefox 中不起作用

标签 javascript jquery firefox browser

我有这个脚本可以根据为其设置的背景图像的高度调整 div 的高度。

$(document).ready(function() {
    var url = $('#header').css('background-image').replace('url(', '').replace(')', '').replace("'", '').replace('"', '');
    var bgImg = $('<img />');
    bgImg.hide();
    bgImg.bind('load', function()
    {
        var height = $(this).height();
        $("#content").css("margin-top",height+"px");
        $("#header").css("min-height",height+"px");
    });
    $('#header').append(bgImg);
    bgImg.attr('src', url);
});

出于某种原因,它在 Chrome 和 Safari 中都可以正常工作,但在 Firefox 中却不行。我已经检查了 FF 中的控制台,看是否有任何错误,但没有。不确定这里是否有与 FF 不兼容的东西或一些我不熟悉的奇怪的 FF 东西。任何评论表示赞赏。

最佳答案

问题是 .replace("'", '').replace('"', '')只替换第一个引号。

然后,您可以对 g 使用正则表达式(全局)标志:.replace(/'/g, '').replace(/"/g, '') .或者更好的是,加入他们:

.replace(/url\(|\)|'|"/g, '');

关于javascript - 根据背景图像大小调整 div 大小的脚本——在 Firefox 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19073420/

相关文章:

javascript - 如何捕获源 self 自己的 Firefox Web 扩展的流量

javascript - 如何运行占用大量 CPU 和内存的 HTML/javascript 程序? (Firefox/Chrome 崩溃)

javascript - Css 工具提示没有很好地调整大小和包装

php - 提交后选择要打开的选项卡。

c# - 如何以编程方式控制 Firefox,最好使用 C# 应用程序?

javascript - 确定我在 JSON 树中的哪个级别

javascript - 启用依赖于另一个表单字段值的表单字段?

javascript - 使用 WebCrypto 进行 AES 加密数据长度

javascript - 在 JavaScript 中将一个对象附加到另一个对象时避免元数据

javascript - 数组仅显示数组中的最后一个数据,而不显示整个数据