【问题标题】:Firefox extension popup won't resizeFirefox 扩展弹出窗口不会调整大小
【发布时间】:2016-07-03 23:04:40
【问题描述】:

我正在将扩展程序从 Chrome 移植到 Firefox。弹出窗口有几个可以显示的不同大小的元素。我遇到的问题是当元素更改或body 调整大小时,显示弹出窗口的“窗口”不会调整大小。

这个问题似乎在 chrome 中不存在,有谁知道我做错了什么或者这是 Firefox 中的错误?我在下面包含了更改正文大小的代码,这适用于 chrome,但似乎不适用于 Firefox。

$('body').ready(function(){
  $('body').animate({
    'width':500,
    'height':500
  },500); 
});

我也用$('body').css() 尝试过这个,以防animate() 是问题,但都不起作用。

此外,如果我向body 添加背景并缩小它,则可以看到背景在改变大小,而包含的窗口不会改变大小。

编辑: 添加更多信息以澄清问题

该扩展是一个 WebExtension 插件 (https://developer.mozilla.org/en-US/Add-ons/WebExtensions)

manifest.json

{
  "manifest_version": 2,
  "browser_action": {
    "default_popup": "popup.htm"
  },
  "description": "Example extension",
  "icons": {
    "128": "example.png"
  },
  "name": "Example Extension",
  "version": "1",
  "applications":{
    "gecko":{
      "id":"example@example.com"
    }
  }
}

popup.htm

<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script type=text/javascript src="js/jquery.js"></script>
    <script type=text/javascript src="js/popup.js"></script>
</head>
<style>
body{
  width:200px;
  height:200px;

  border:1px solid black;
}
</style>
<body>
  <button id=reset type=button>200x200px</button>
  <button id=shrink type=button>100x100px</button>
</body>
</html>

js/popup.js

$('body').ready(function (){
  $('#reset').bind('click',function(){
    $('body').css({
      width:200,
      height:200
    });
  });
  $('#shrink').bind('click',function(){
    $('body').css({
      width:100,
      height:100
    });
  });
});

加载上述扩展程序后,弹出窗口以其初始大小 (200x200) 正确显示。但是,当调整正文大小时,弹出窗口的大小不会更新。同样的扩展在 Chrome 中按预期工作(弹出调整大小)。

【问题讨论】:

  • 你在使用 WebExtensions 吗?
  • 我们需要一个完整的minimal reproducible example,而不仅仅是用于执行调整大小的 jQuerry 代码。我们需要看看弹出窗口是如何创建的。我们需要知道 type of Firefox extension 你正在开发什么。
  • 我添加了一个更完整的示例,应该有助于使我的问题更清晰。
  • 确定这是Bootstrapped/restartless extension吗? manifest.json 文件的存在意味着它是 WebExtensions 插件,而不是所谓的 Bootstrapped 插件。引导加载项没有manifest.json 文件,除非您为自己的特定非标准目的创建了一个。
  • 可能会有一些混淆,因为WebExtensionsAdd-on SDK 扩展在功能上都是重新启动(它们不需要重新启动)。但是,它们不被称为Bootstrapped or Restartless extensions。是的,Mozilla 在为不同类型的附加组件选择名称方面本可以做得更好。它们是这样的,因为它们随着时间的推移而发展,一个接一个。

标签: javascript html firefox firefox-addon firefox-addon-webextensions


【解决方案1】:

看起来这实际上是 Firefox 中正在解决的错误

https://bugzilla.mozilla.org/show_bug.cgi?id=1215025

【讨论】:

  • 请注意,现在至少 FF 50+ 已验证已修复
猜你喜欢
  • 1970-01-01
  • 2020-03-25
  • 1970-01-01
  • 1970-01-01
  • 2019-10-22
  • 1970-01-01
  • 2012-07-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多