Как обновить Firefox 2-совместимые расширения с помощью IFRAME до Firefox 3? - PullRequest
2 голосов
/ 03 октября 2008

Я пытаюсь обновить пользовательское расширение Firefox, которое я создал для некоторых задач на работе. По сути, это боковая панель, которая поднимает одну из наших веб-страниц в iframe для различных целей. При переходе на Firefox 3 iframe вообще не появится.

Ниже приведен пример XUL-файлов, которые содержат специфический для расширения код, включая iframe, в настоящее время он просто пытается загрузить Google, но он ни с чем не работает. Я не могу найти никаких упоминаний в Интернете об изменениях в FF3, которые могли бы вызвать это. Любые предложения будут оценены.

<?xml version="1.0"?>
<?xml-stylesheet href="chrome://customsidebar/skin/customsidebar.css" type="text/css"?>

<overlay id="customsidebar-Main" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  <script type="application/x-javascript" src="chrome://customsidebar/content/customsidebar.js"/>

  <vbox flex="1">
    <toolbar>
      <vbox>
        <hbox id="customsidebar_TopToolbarRow">
          <toolbarbutton label="Refresh" id="customsidebar_Refresh" oncommand="customsidebar_Refresh()" />
        </hbox>
        <hbox>
          <label control="customsidebar_StatusBox" value="Log"/>
          <textbox id="customsidebar_StatusBox" multiline="true" rows="1" wrap="off"  />
        </hbox>
      </vbox>
    </toolbar>

    <iframe id="customsidebar_Iframe" src="http://www.google.com" />
  </vbox>
</overlay>

Вот оверлейный файл XUL

<?xml version="1.0"?>
<overlay id="CustomSidebar-Overlay"
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

    <menupopup id="viewSidebarMenu">
        <menuitem observes="viewCustomSidebar" />
    </menupopup>

  <broadcasterset id="mainBroadcasterSet">
    <broadcaster id="viewCustomSidebar"
      autoCheck="false"
      label="CustomSidebar"
      type="checkbox" group="sidebar"
      sidebarurl="chrome://customersidebar/content/customersidebarMain.xul"
      sidebartitle="CustomSidebar"
      oncommand="toggleSidebar('viewCustomSidebar');"/>
  </broadcasterset>

</overlay>

Ответы [ 2 ]

2 голосов
/ 03 октября 2008
  1. Установите flex = "1" в фрейме
  2. Код XUL для боковой панели - это не наложение, это документ, загруженный в iframe (посмотрите в главном окне Firefox в инспекторе DOM). Таким образом, корневой элемент должен быть , а не . Это, в сочетании с flex = "1", должно отобразить страницу.
  3. Обычно вы хотите поместить в iframe type = "content" или type = "content-primary". Определенно, если вы загружаете в него ненадежные страницы.
1 голос
/ 03 октября 2008

Я бы попробовал установить flex = "1" в iframe. Если это не работает, возможно, попробуйте использовать элемент browser вместо iframe.

...