Wie Firefox 2 kompatibel Erweiterungen mit IFRAME zu Firefox 3 aktualisieren?

StackOverflow https://stackoverflow.com/questions/166772

  •  03-07-2019
  •  | 
  •  

Frage

Ich versuche, eine benutzerdefinierte Firefox-Erweiterung zu aktualisieren, die ich für einige Aufgaben bei der Arbeit erstellt. Im Grunde ist es eine Seitenleiste, die für verschiedene Zwecke in einem -Frame einen unserer Webseiten nach oben zieht. Wenn zu Firefox 3 die iframe bewegen, werden nicht angezeigt.

Im Folgenden finden Sie ein Beispiel für die XUL-Dateien, die Erweiterung spezifische Codes einschließlich iframe enthält, die derzeit mit nur einen Versuch, Google zu laden, aber es wird nicht mit irgendetwas arbeiten. Ich kann keine Erwähnung Online-Änderungen in FF3 finden, die dies verursachen würde. Alle Vorschläge würden geschätzt.

<?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>

Hier ist die Overlay-XUL-Datei

<?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>
War es hilfreich?

Lösung

  1. Stellen Sie flex = "1" auf dem iframe
  2. Der Code XUL für Sidebar ist kein Overlay, ist es ein Dokument ist in einem Iframe geladen (Blick auf das Firefox-Hauptfenster im DOM-Inspektor). Also das Wurzelelement sollte , nicht . Dies, kombiniert mit der Flex = "1" ist, sollte die Seitenanzeige machen.
  3. Sie wollen in der Regel type = "content" oder type = "Content-primary" auf dem iframe setzen. Auf jeden Fall so, wenn Sie daran nicht vertrauenswürdige Seiten laden.

Andere Tipps

Ich würde versuchen, auf dem iframe Einstellung flex = "1". Wenn das nicht funktioniert, versuchen Sie es vielleicht mit dem Browser Element anstelle von iframe.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top