Размер всплывающего окна расширения Firefox не изменяется

Я работаю над переносом расширения из 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":"[email protected]"
    }
  }
}

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.


person Etag    schedule 17.03.2016    source источник
comment
Вы используете WebExtensions?   -  person Noitidart    schedule 17.03.2016
comment
Нам нужен полный минимальный воспроизводимый пример, а не только код jQuerry, который вы используете для изменения размера. Нам нужно увидеть, как было создано всплывающее окно. Нам необходимо знать, какой тип расширения Firefox вы разрабатываете.   -  person Makyen♦    schedule 18.03.2016
comment
Я добавил более полный пример, который должен помочь прояснить мою проблему.   -  person Etag    schedule 18.03.2016
comment
Вы уверены, что это расширение с загрузкой / перезапуском?? Существование manifest.json будет означать, что это WebExtensions надстройка, а не то, что можно было бы назвать надстройкой Bootstrapped. Загрузочные надстройки не имеют файлы manifest.json, если вы не создали их для своих собственных нестандартных целей.   -  person Makyen♦    schedule 18.03.2016
comment
Может возникнуть некоторая путаница, поскольку как WebExtensions, так и Расширения Add-on SDK функционально перезапускаются (они не требуют перезапуска). Однако они не называются расширениями с загрузкой или перезапуском. Да, Mozilla могла бы лучше справиться с подбором имен для различных типов надстроек. Они такие, потому что развивались со временем, одна за другой.   -  person Makyen♦    schedule 18.03.2016
comment
Ах да, ты прав. Когда я смотрел на разные типы, у меня было открыто слишком много вкладок. Хороший звонок   -  person Etag    schedule 18.03.2016
comment
Не забывайте, что WebExtensions в настоящее время находятся в экспериментальном альфа-состоянии. . Это означает, что многие вещи не работают или работают некорректно.   -  person Makyen♦    schedule 18.03.2016


Ответы (1)


Что ж, похоже, это на самом деле ошибка в Firefox, которая исправляется

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

person Etag    schedule 18.03.2016
comment
Обратите внимание, что теперь это ПОДТВЕРЖДЕНО ИСПРАВЛЕНО как минимум для FF 50+. - person Xan; 08.11.2016