4

所以我有这个 Chrome 扩展程序可以从互联网上加载一些内容。基本上,用户单击弹出图标,然后后台页面中的一些 JavaScript 加载一些页面,从中解析图像并将其放入 popup.html 页面。问题是 popup.html 没有调整大小以适应内容的实际大小。我在 StackOverflow 上看到了几个类似的问题,每个问题的回答都是“放在<!DOCTYPE html>popup.html 页面的顶部”,在我的情况下这不起作用。弹出窗口的大小仍然非常小(约 1 平方厘米)。

以前我有一些固定宽度和高度的 CSS 样式,但我注意到我的内容并不总是相同的大小,所以我希望 popup.html 页面自动调整大小以适应内容。

我知道在最坏的情况下,我可以解析图像的宽度和高度并将其设置为 CSS,但我觉得有一个更优雅的解决方案。

谢谢

4

2 回答 2

4

我能够用一点 jQuery 动态调整弹出窗口的大小。

$('html').height($('#menu').height());

#menu 只是一个包含所有内容的 div。body没有正确调整大小,所以我不能使用它。

显然只改变高度html就足够了。

于 2015-04-08T18:29:13.967 回答
3

我设法解决了这个问题。显然,如果我将内容加载到 popup.html 中,弹出窗口将不会自动调整大小。没有办法。因此,我尝试在加载要显示的内容后修改页面的 CSS,但这也不起作用。然后我发现动态调整大小时页面中应该没有隐藏内容。当我从 Web 加载内容时,我将整个页面隐藏在一个隐藏的 div 中,然后通过 JavaScript 访问我感兴趣的页面元素,将其抓取并放入弹出页面的可见容器中。为了解决这个问题,我只需要“删除”document.getElementById('myHiddenDiv').innerHTML = ""隐藏 div 的内容,然后神奇地调整弹出窗口的大小:-)。

于 2013-02-21T12:59:16.920 回答