JQModal 및 Nyromodal은 jQuery 1.3.2 및 Firefox 도구 모음 확장으로 작동하지 않습니다.
문제
JQModal 또는 Nyromodal을 사용하여 모달 대화 상자를 열고 닫는 명령으로 내 Firefox 도구 모음을 만들려고 노력했습니다. 두 경우 모두 대화 상자를 열는 행위는 오류가 발생하며 모달이 왜 깨지는 지에 대해서는 아무것도 찾을 수 없습니다.
브라우저 : Firefox 3.0.11 JQuery : v1.3.2 JQModal : R14 Nyromodal : 1.5.0
샘플 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>
`
샘플 jqm.js 파일 :`function jqmshowmodal (e) {// loadPageHeadElements (); var body = $ (content.document) .find ( "body"); if (body.find ( "#jqmmodal"). length == 0) body.prepend ( "Hello 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();
}
함수 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>'});
}
함수 초크 (e) {alert ( 'choke!'); }`
해결책
이를 처리하는 유일한 방법은 모달 창 대신 툴바 패널 객체를 통과하는 것 같습니다.
제휴하지 않습니다 StackOverflow