jqmodal und nyromodal wird nicht funktionieren w / JQuery 1.3.2 und Firefox Toolbar-Erweiterung
Frage
Ich habe versucht, meine eigene Firefox Toolbar mit Befehlen zu erstellen, die einen modalen Dialog mit entweder jqModal oder nyroModal öffnen und schließen. In beiden Fällen ist der Akt den Dialog zu öffnen, führt zu Fehlern, und ich kann nichts da draußen finden, warum modals brechen würde.
Browser: Firefox 3.0.11 JQuery: v1.3.2 jqModal: r14 nyroModal: 1.5.0
Beispiel XUL: `
<!-- required JQuery dependency -->
<!--script src="chrome://jqmtoolbar/content/jquery.js" /-->
`<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" />
<!-- load main library -->
<script src="chrome://jqmtoolbar/content/jquery.nyroModal-1.5.0.pack.js" type="application/x-javascript" />
<script src="http://www.nopuck4you.com/gooble/jqModal-dev.js" type="application/x-javascript" />
<script src="chrome://jqmtoolbar/content/jqm.js" type="application/x-javascript" />
<toolbox id="navigator-toolbox">
<toolbar id="modal-toolbar" toolbarname="modal test toolbarx" accesskey="G"
class="chromeclass-toolbar" context="toolbar-context-menu"
hidden="false" persist="hidden">
<toolbarbutton id="gb-debug-jqmShow" tooltiptext="Show Modal"
label="Show Modal" oncommand="jqmShowModal(event)" />
<toolbarbutton id="gb-debug-jqmHide" tooltiptext="Hide Modal"
label="Hide Modal" oncommand="jqmHideModal(event)" />
<toolbarspring/>
<toolbarseparator/>
<toolbarbutton id="gb-debug-nyroShow" tooltiptext="Show Modal"
label="Show Modal" oncommand="nyroShowModal(event)" />
<toolbarbutton id="gb-debug-nyroHide" tooltiptext="Hide Modal"
label="Hide Modal" oncommand="nyroHideModal(event)" />
<toolbarspring/>
</toolbar>
</toolbox>
`
Beispiel jqm.js Datei: ` Funktion jqmShowModal (e) { // loadPageHeadElements (); var body = $ (content.document) .find ( "Body"); if (body.find ( "# jqmModal") Länge == 0). body.prepend ( "Hallo jqModal!"); var jq = $ ( "# jqmModal", content.document);
jq.jqm({
//set JQ modal parameters
ajax: "http://www.google.com",
modal: true,
onLoad: choke
});
$("#jqmModal").jqmShow();
//$("#goobModal", content.document).jqmShow();
}
Funktion nyroShowModal (e) {
//loadPageHeadElements();
var body = $(content.document).find("BODY");
if(body.find("#nyroModal").length == 0) body.prepend("<div id=\"nyroModal\">Hello Nyro Modal!</div>");
var nym = $("#nyroModal", content.document);
nym.nyroModalManual({url: 'http://www.google.com'});
//nym.nyroModalManual({content: '<div>Hello from the test toolbar!</div>'});
}
Funktion Drossel (e) { alert ( 'ersticken!'); } `
Lösung
Sieht aus wie der einzige Weg, dies zu handhaben ist über die Toolbar-Panel-Objekt anstelle modale Fenster.